Skip to content

Commit

Permalink
Merge branch 'edge' into flex_deck_slot_names
Browse files Browse the repository at this point in the history
  • Loading branch information
SyntaxColoring committed May 4, 2023
2 parents f565d43 + 546cde6 commit 5013888
Show file tree
Hide file tree
Showing 253 changed files with 5,194 additions and 1,947 deletions.
23 changes: 14 additions & 9 deletions .github/workflows/pd-test-build-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -194,13 +194,18 @@ jobs:
with:
name: pd-artifact
path: ./dist
- name: 'deploy builds to s3'
- name: 'configure ot3 s3 deploy creds and deploy'
env:
AWS_ACCESS_KEY_ID: ${{ secrets.S3_SANDBOX_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_SANDBOX_SECRET }}
AWS_DEFAULT_REGION: us-east-2
uses: './.github/actions/webstack/deploy-to-sandbox'
with:
domain: 'designer.opentrons.com'
distPath: './dist'
destPrefix: ${{ env.OT_BRANCH }}
AWS_ACCESS_KEY_ID: ${{ secrets.PD_S3_SANDBOX_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.PD_S3_SANDBOX_SECRET }}
AWS_DEFAULT_REGION: us-east-1
run: |
aws configure set aws_access_key_id ${{ secrets.PD_S3_SANDBOX_KEY_ID }} --profile identity
aws configure set aws_secret_access_key ${{ secrets.PD_S3_SANDBOX_SECRET }} --profile identity
aws configure set region us-east-2 --profile identity
aws configure set output json --profile identity
aws configure set region us-east-2 --profile deploy
aws configure set role_arn ${{ secrets.OT_PD_DEPLOY_ROLE }} --profile deploy
aws configure set source_profile identity --profile deploy
aws s3 sync ./dist s3://sandbox.designer.opentrons.com/${{ env.OT_BRANCH }} --acl=public-read --profile=deploy
shell: bash
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ SHARED_DATA_DIR := shared-data
UPDATE_SERVER_DIR := update-server
ROBOT_SERVER_DIR := robot-server
SERVER_UTILS_DIR := server-utils
SYSTEM_SERVER_DIR := system-server
HARDWARE_DIR := hardware
USB_BRIDGE_DIR := usb-bridge

Expand Down Expand Up @@ -142,6 +143,8 @@ push:
$(MAKE) -C $(ROBOT_SERVER_DIR) push
sleep 1
$(MAKE) -C $(SERVER_UTILS_DIR) push
sleep 1
$(MAKE) -C $(SYSTEM_SERVER_DIR) push


.PHONY: push-ot3
Expand All @@ -153,6 +156,7 @@ push-ot3:
$(MAKE) -C $(NOTIFY_SERVER_DIR) push-no-restart-ot3
$(MAKE) -C $(ROBOT_SERVER_DIR) push-ot3
$(MAKE) -C $(SERVER_UTILS_DIR) push-ot3
$(MAKE) -C $(SYSTEM_SERVER_DIR) push-ot3
$(MAKE) -C $(UPDATE_SERVER_DIR) push-ot3
$(MAKE) -C $(USB_BRIDGE_DIR) push-ot3

Expand Down
6 changes: 4 additions & 2 deletions api-client/src/instruments/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ export interface GripperData {
data: {
jawState: string
calibratedOffset: {
offset: [number, number, number]
offset: { x: number; y: number; z: number }
source: string
last_modified: string
}
}
instrumentModel: string
Expand All @@ -19,8 +20,9 @@ export interface PipetteData {
min_volume: number
max_volume: number
calibratedOffset: {
offset: [number, number, number]
offset: { x: number; y: number; z: number }
source: string
last_modified: string
}
}
instrumentName: string
Expand Down
12 changes: 9 additions & 3 deletions api-client/src/maintenance_runs/createMaintenanceRun.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@ import { POST, request } from '../request'

import type { ResponsePromise } from '../request'
import type { HostConfig } from '../types'
import type { MaintenanceRun } from './types'
import type { CreateMaintenanceRunData, MaintenanceRun } from './types'

export function createMaintenanceRun(
config: HostConfig
config: HostConfig,
data: CreateMaintenanceRunData = {}
): ResponsePromise<MaintenanceRun> {
return request<MaintenanceRun>(POST, '/maintenance_runs', null, config)
return request<MaintenanceRun, { data: CreateMaintenanceRunData }>(
POST,
'/maintenance_runs',
{ data },
config
)
}
6 changes: 5 additions & 1 deletion api-client/src/maintenance_runs/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type {
LoadedModule,
LoadedPipette,
} from '@opentrons/shared-data'
import type { RunCommandSummary } from '../runs'
import type { RunCommandSummary, LabwareOffsetCreateData } from '../runs'

export const ENGINE_STATUS_IDLE = 'idle' as const
export const ENGINE_STATUS_RUNNING = 'running' as const
Expand Down Expand Up @@ -77,3 +77,7 @@ export interface MaintenanceRunError {
createdAt: string
detail: string
}

export interface CreateMaintenanceRunData {
labwareOffsets?: LabwareOffsetCreateData[]
}
2 changes: 1 addition & 1 deletion api/pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ markers =
apiv2_non_pe_only: This test invocation requires a legacy PAPI context, not backed by Protocol Engine
ot2_only: Test only functions using the OT2 hardware
ot3_only: Test only functions using the OT3 hardware
addopts = --color=yes
addopts = --color=yes --strict-markers
asyncio_mode = auto
38 changes: 26 additions & 12 deletions api/release-notes-internal.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ For more details about this release, please see the full [technical change log][

---

# Internal Release 0.4.0
# Internal Release 0.5.0

This is internal release 0.4.0 for the Opentrons Flex robot software, involving both robot control and the on-device display.
This is internal release 0.5.0 for the Opentrons Flex robot software, involving both robot control and the on-device display.

Some things are known not to work, and are listed below. Specific compatibility notes about peripheral hardware are also listed.

Expand All @@ -21,7 +21,10 @@ Some things are known not to work, and are listed below. Specific compatibility
## Big Things That Don't Work Yet So Don't Report Bugs About Them

### ODD
- Changing the text size on the ODD through the settings
- While many individual flows work, going in between them often does not, you have to use the secret menu
- The ODD generally won't synch up to what the robot is doing if the app is controlling it - for instance, if you start a protocol from the app the ODD won't follow along on its own
- The ODD doesn't really tell you if the robot server hasn't started yet; if a robot looks on but has the name "opentrons", or says it's not network-connected when you know it is, probably the server isn't up yet, give it another little bit
- It can take a while for the robot to start after installing an update (it's the firmware updates happening on boot). Allow 10 minutes after an update that has a firmware change.

### Robot Control
- USB connectivity
Expand All @@ -31,15 +34,26 @@ Some things are known not to work, and are listed below. Specific compatibility

## Reasonably Sized New Things
### ODD
- No more unsightly menu bar at the top
- You can delete runs and protocols from the ODD
- The ODD now displays the firmware version of attached devices. If devices are on different firmwares, it will display them in a list. If this is happening, it means something wasn't updated, and you should restart the robot with that thing connected.
- More in-depth liquid setup screens
- More focus on visuals around alignment, sizing, and spacing, especially between screens - this is mostly catchup from removing the menu bar
- Recently-run protocols is now populated!
- In general, it's pretty doable to run protocols and pre-protocol from the ODD; give it a try by sending a protocol to the flex with the "send to OT3" button in the desktop app
- LPC shouldn't drag tipracks around anymore

### Robot Control
- Updates to accelerations and speeds from hardware testing
- Module calibration offsets will now be loaded in protocols once you run it with the script
- When running the repl, you can disable automatic firmware update by setting the `OT3_DISABLE_FW_UPDATES` environment variable. Please do this rarely, since often you will see weird failures if you have out-of-date firmware.
- Even more acceleration changes from hardware testing
- Improved trash bin positioning should mean dropped tips don't go quite as "everywhere"
- DVT multis return tips a little better now
- Fixed a bunch of behavior stuff around the 96 with plunger stalls, breaking instruments endpoints, etc. Should be usable now.
- You should be able to cancel a protocol now without breaking the robot
- Calibration should raise an error if it got a really bizarre output now
- Logging overhaul:
- CANbus messages (and USB rear panel messages) are logged now; you can see them by downloading serial logs or running `journalctl -t opentrons-api-serial`
- We limited what goes in the api logs, removing HTTP access logs and SQL logs and move command spam; they should be more useful now. You can see them by downloading API logs or running `journalctl -t opentrons-api`.
- All the above is now in the robot-server unit logs, which can be accessed via `journalctl -u opentrons-robot-server`
- Protocol analysis should be a _lot_ faster
- Fixed an issue where pinging `GET /instruments` during automated calibration would cause calibration to fail
- Increased reliability of automated calibration
- Increased reliability of gripper pickups from modules

## Big Things That Do Work Please Do Report Bugs About Them
### Robot Control
Expand All @@ -49,7 +63,7 @@ Some things are known not to work, and are listed below. Specific compatibility
- Pipette and gripper automated offset calibration
- Network connectivity and discoverability
- Firmware update for all devices attached when the robot turns on
- Cancelling a protocol run. We're pretty sure we fixed this so definitely tell us if it's not.
- Cancelling a protocol run. We're even more sure we fixed this so definitely tell us if it's not.

### ODD
- Protocol execution
Expand All @@ -65,4 +79,4 @@ Some things are known not to work, and are listed below. Specific compatibility
## Smaller fun features
- Turn on display idle in the display settings for a fun surprise
- The lights work (don't do anything yet though)
- Lots of visual updates and improvements in the ODD

10 changes: 5 additions & 5 deletions api/src/opentrons/config/defaults_ot3.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,16 @@
),
),
edge_sense=EdgeSenseSettings(
overrun_tolerance_mm=0.5,
overrun_tolerance_mm=0.4,
early_sense_tolerance_mm=0.5,
pass_settings=CapacitivePassSettings(
prep_distance_mm=1,
max_overrun_distance_mm=1,
speed_mm_per_s=0.5,
max_overrun_distance_mm=0.5,
speed_mm_per_s=1,
sensor_threshold_pf=3.0,
),
search_initial_tolerance_mm=8.0,
search_iteration_limit=9,
search_initial_tolerance_mm=12.0,
search_iteration_limit=8,
),
probe_length=44.5,
)
Expand Down
2 changes: 1 addition & 1 deletion api/src/opentrons/hardware_control/backends/ot3utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ def create_gripper_jaw_grip_group(
) -> MoveGroup:
step = create_gripper_jaw_step(
duration=np.float64(GRIPPER_JAW_GRIP_TIME),
duty_cycle=np.float32(duty_cycle),
duty_cycle=np.float32(round(duty_cycle)),
stop_condition=stop_condition,
move_type=MoveType.grip,
)
Expand Down
Loading

0 comments on commit 5013888

Please sign in to comment.