-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/master'
- Loading branch information
Showing
1 changed file
with
290 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,290 @@ | ||
# RoveComm Manifest | ||
|
||
## Core Board | ||
|
||
**IP**: 192.168.2.110 | ||
|
||
### Commands | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **DriveLeftRight** | 3000 | `FLOAT_T` | 2 | [LeftSpeed, RightSpeed] (-1, 1)-> (-100%, 100%) | | ||
| **DriveIndividual** | 3001 | `FLOAT_T` | 6 | [LF, LM, LR, RF, RM, RR] (-1, 1)-> (-100%, 100%) | | ||
| **WatchdogOverride** | 3002 | `UINT8_T` | 1 | [0-override off, 1-override on] | | ||
| **LeftDriveGimbalIncrement** | 3003 | `INT16_T` | 1 | [Tilt](degrees -180-180) | | ||
| **RightDriveGimbalIncrement** | 3004 | `INT16_T` | 1 | [Tilt](degrees -180-180) | | ||
| **LeftMainGimbalIncrement** | 3005 | `INT16_T` | 2 | [Pan, Tilt](degrees -180-180) | | ||
| **RightMainGimbalIncrement** | 3006 | `INT16_T` | 2 | [Pan, Tilt](degrees -180-180) | | ||
| **BackDriveGimbalIncrement** | 3007 | `INT16_T` | 1 | [Tilt](degrees -180-180) | | ||
| **LEDRGB** | 3008 | `UINT8_T` | 3 | [R, G, B] (0, 255) | | ||
| **LEDPatterns** | 3009 | `UINT8_T` | 1 | [Pattern] (Enum) | | ||
| **StateDisplay** | 3010 | `UINT8_T` | 1 | [Teleop, Autonomy, Reached Goal] (enum) | | ||
| **Brightness** | 3011 | `UINT8_T` | 1 | Set Brightness (0-255) | | ||
| **SetWatchdogMode** | 3012 | `UINT8_T` | 1 | 0: Teleop, 1: Autonomy | | ||
| **LEDText** | 3013 | `CHAR` | 256 | Set the message to display on the lighting panel; null terminator ends string early | | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **DriveSpeeds** | 3100 | `FLOAT_T` | 6 | [LF, LM, LR, RF, RM, RR] (-1, 1)-> (-100%, 100%) | | ||
| **IMUData** | 3101 | `FLOAT_T` | 3 | [Roll, Pitch, Yaw] degrees | | ||
| **AccelerometerData** | 3102 | `FLOAT_T` | 3 | [xAxis, yAxis, zAxis] Accel in m/s^2 | | ||
|
||
## PMS Board | ||
|
||
**IP**: 192.168.2.102 | ||
|
||
### Commands | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **EStop** | 4000 | `UINT8_T` | 1 | Power off all systems except network (PMS will stay on) | | ||
| **Suicide** | 4001 | `UINT8_T` | 1 | Power off all systems including network, cannot recover without physical reboot (PMS will stay on) | | ||
| **Reboot** | 4002 | `UINT8_T` | 1 | Cycle all systems including network off and back on (PMS will stay on) | | ||
| **EnableBus** | 4003 | `UINT8_T` | 1 | [Motor, Core, Aux] (bitmasked) [1-Enable, 0-No change] | | ||
| **DisableBus** | 4004 | `UINT8_T` | 1 | [Motor, Core, Aux] (bitmasked) [1-Disable, 0-No change] | | ||
| **SetBus** | 4005 | `UINT8_T` | 1 | [Motor, Core, Aux] (bitmasked) [1-Enable, 0-Disable] | | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **PackCurrent** | 4100 | `FLOAT_T` | 1 | Total current draw from battery | | ||
| **PackVoltage** | 4101 | `FLOAT_T` | 1 | Pack voltage | | ||
| **CellVoltage** | 4102 | `FLOAT_T` | 6 | C1, C2, C3, C4, C5, C6 | | ||
| **AuxCurrent** | 4103 | `FLOAT_T` | 1 | Current draw by aux systems (before 12V buck) | | ||
| **MiscCurrent** | 4104 | `FLOAT_T` | 3 | Current draw from other devices (CS1, CS2, CS3) | | ||
| **BusStatus** | 4105 | `UINT8_T` | 1 | [Motor, Core, Aux, Network] (bitmasked) [1-Enabled, 0-Disabled] | | ||
|
||
### Errors | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **PackOvercurrent** | 4200 | `UINT8_T` | 1 | Higher current draw than the battery can support. Rover will Reboot automatically | | ||
| **CellUndervoltage** | 4201 | `UINT8_T` | 1 | (bitmasked) [1-Undervolt, 0-OK]. Rover will EStop automatically | | ||
| **CellCritical** | 4202 | `UINT8_T` | 1 | (bitmasked) [1-Critical, 0-OK]. Rover will Suicide automatically | | ||
| **AuxOvercurrent** | 4203 | `UINT8_T` | 1 | Aux system current draw too high. Rover will disable Aux bus automatically | | ||
|
||
## Nav Board | ||
|
||
**IP**: 192.168.2.104 | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **GPSLatLonAlt** | 6100 | `DOUBLE_T` | 3 | [Lat, Long, Alt] [(-90, 90), (-180, 180)(deg), (0, 1000)] | | ||
| **IMUData** | 6101 | `FLOAT_T` | 3 | [Pitch, Yaw, Roll] [(-90, 90), (0, 360), (-90, 90)] (deg) | | ||
| **CompassData** | 6102 | `FLOAT_T` | 1 | [Heading] [ 0, 360 ] | | ||
| **SatelliteCountData** | 6103 | `UINT8_T` | 1 | [Number of satellites] | | ||
| **AccelerometerData** | 6104 | `FLOAT_T` | 3 | [xAxis, yAxis, zAxis] Accel in m/s^2 | | ||
| **AccuracyData** | 6105 | `FLOAT_T` | 5 | [horizontal_accur, vertical_accur, heading_accur, fix_type, is_differentia] [meters, meters, degrees, ublox_navpvt fix type (http://docs.ros.org/en/noetic/api/ublox_msgs/html/msg/NavPVT.html), boolean] | | ||
|
||
### Errors | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **GPSLockError** | 6200 | `UINT8_T` | 1 | | | ||
|
||
## BaseStationNav Board | ||
|
||
**IP**: 192.168.100.112 | ||
|
||
## SignalStack Board | ||
|
||
**IP**: 192.168.100.101 | ||
|
||
### Commands | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **OpenLoop** | 7000 | `INT16_T` | 1 | Motor decipercent [-1000, 1000] | | ||
| **SetAngleTarget** | 7001 | `FLOAT_T` | 1 | [Heading] [0, 360) | | ||
| **SetGPSTarget** | 7002 | `DOUBLE_T` | 4 | [Rover Lat, Rover Long, Basestation Lat, Basestation Long] [Lat:(-90, 90), Long:(-180, 180)] (deg) | | ||
| **WatchdogOverride** | 7003 | `UINT8_T` | 1 | [0-override off, 1-override on] | | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **CompassAngle** | 7100 | `FLOAT_T` | 1 | [Heading] [0, 360) | | ||
|
||
### Errors | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **WatchdogStatus** | 7200 | `UINT8_T` | 1 | (1-Watchdog timeout, 0-OK) | | ||
|
||
## Arm Board | ||
|
||
**IP**: 192.168.2.107 | ||
|
||
### Commands | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **OpenLoop** | 8000 | `INT16_T` | 6 | [X, Y1, Y2, Z, P, R] Motor decipercent [-1000, 1000] | | ||
| **SetPosition** | 8001 | `FLOAT_T` | 6 | [X, Y1, Y2, Z, P, R] (in, in, in, in, deg, deg) | | ||
| **IncrementPosition** | 8002 | `FLOAT_T` | 5 | [X, Y, Z, P, R] (in, in, in, deg, deg, deg) | | ||
| **SetIK** | 8003 | `FLOAT_T` | 5 | [X, Y, Z, P, R] (in, in, in, deg, deg) | | ||
| **IncrementIK_RoverRelative** | 8004 | `FLOAT_T` | 5 | [X, Y, Z, P, R] (in, in, in, deg, deg) | | ||
| **IncrementIK_WristRelative** | 8005 | `FLOAT_T` | 5 | [X, Y, Z, P, R] (in, in, in, deg, deg) | | ||
| **Laser** | 8006 | `UINT8_T` | 1 | [0-disable, 1-enable] | | ||
| **Solenoid** | 8007 | `UINT8_T` | 1 | [0-retract, 1-extend] | | ||
| **Gripper** | 8008 | `INT16_T` | 1 | Motor decipercent [-1000, 1000] | | ||
| **WatchdogOverride** | 8009 | `UINT8_T` | 1 | [0-override off, 1-override on] | | ||
| **LimitSwitchOverride** | 8010 | `UINT16_T` | 1 | [X+, X-, Y1+, Y1-, Y2+, Y2-, Z+, Z-, P+, P-] (0-override off, 1-override on) (bitmasked) | | ||
| **CalibrateEncoder** | 8011 | `UINT8_T` | 1 | [X, Y1, Y2, Z, P, R1, R2] (1-calibrate, 0-no action) (bitmasked) | | ||
| **SelectGripper** | 8012 | `UINT8_T` | 1 | Toggle gripper and roll motors controlled by other packets; 0-Gripper1, 1-Gripper2 | | ||
| **SoftLimitOverride** | 8013 | `UINT8_T` | 1 | [X+, X-, Y1+, Y1-, Y2+, Y2-, Z+, Z-, P+, P-] (0-override off, 1-override on) (bitmasked) | | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **Positions** | 8100 | `FLOAT_T` | 7 | [X, Y1, Y2, Z, Pitch, Roll1, Roll2] (in, in, in, in, deg, deg, deg) | | ||
| **Coordinates** | 8101 | `FLOAT_T` | 5 | [X, Y, Z, P, R] (in, in, in, deg, deg) | | ||
| **LimitSwitchTriggered** | 8102 | `UINT16_T` | 1 | [X+, X-, Y1+, Y1-, Y2+, Y2-, Z+, Z-, Pitch+, Pitch-] (0-off, 1-on) (bitmasked) | | ||
|
||
### Errors | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **WatchdogStatus** | 8200 | `UINT8_T` | 1 | (1-Watchdog timeout, 0-OK) | | ||
|
||
## ScienceActuation Board | ||
|
||
**IP**: 192.168.2.108 | ||
|
||
### Commands | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **ScoopAxis_OpenLoop** | 9000 | `INT16_T` | 1 | Motor decipercent [-1000, 1000] | | ||
| **SensorAxis_OpenLoop** | 9001 | `INT16_T` | 1 | Motor decipercent [-1000, 1000] | | ||
| **ScoopAxis_SetPosition** | 9002 | `FLOAT_T` | 1 | Absolute position (in) | | ||
| **SensorAxis_SetPosition** | 9003 | `FLOAT_T` | 1 | Absolute position (in) | | ||
| **ScoopAxis_IncrementPosition** | 9004 | `FLOAT_T` | 1 | (in) | | ||
| **SensorAxis_IncrementPosition** | 9005 | `FLOAT_T` | 1 | (in) | | ||
| **LimitSwitchOverride** | 9006 | `UINT8_T` | 1 | [ScoopAxis+, ScoopAxis-, SensorAxis+, SensorAxis-] (0-override off, 1-override on) (bitmasked) | | ||
| **Auger** | 9007 | `INT16_T` | 1 | Motor decipercent [-1000, 1000] | | ||
| **Microscope** | 9008 | `UINT8_T` | 1 | [0-180] (degrees) | | ||
| **WatchdogOverride** | 9010 | `UINT8_T` | 1 | [0-override off, 1-override on] | | ||
| **CalibrateEncoder** | 9011 | `UINT8_T` | 1 | [ScoopAxis, SensorAxis, Proboscis] (1-calibrate, 0-no action) (bitmasked) | | ||
| **RequestHumidity** | 9012 | `UINT8_T` | 1 | Request the humidity of the instrument | | ||
| **AugerGimbalIncrement** | 9013 | `INT16_T` | 2 | [Pan, Tilt](degrees -180-180) | | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **Positions** | 9100 | `FLOAT_T` | 2 | [ScoopAxis, SensorAxis] (in) | | ||
| **LimitSwitchTriggered** | 9101 | `UINT8_T` | 1 | [ScoopAxis+, ScoopAxis-, SensorAxis+, SensorAxis-] (0-off, 1-on) (bitmasked) | | ||
| **Humidity** | 9102 | `FLOAT_T` | 1 | [Humidity] (relative humidity %) | | ||
| **AugerSpeed** | 9103 | `FLOAT_T` | 1 | (in/s) | | ||
|
||
### Errors | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **WatchdogStatus** | 9200 | `UINT8_T` | 1 | (1-Watchdog timeout, 0-OK) | | ||
| **AugerStalled** | 9201 | `UINT8_T` | 1 | (1-Stalled, 0-OK) | | ||
|
||
## Autonomy Board | ||
|
||
**IP**: 192.168.3.101 | ||
|
||
### Commands | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **StartAutonomy** | 11000 | `UINT8_T` | 1 | | | ||
| **DisableAutonomy** | 11001 | `UINT8_T` | 1 | | | ||
| **AddPositionLeg** | 11002 | `DOUBLE_T` | 2 | [Lat, Lon] | | ||
| **AddMarkerLeg** | 11003 | `DOUBLE_T` | 2 | [Lat, Lon] | | ||
| **AddObjectLeg** | 11004 | `DOUBLE_T` | 2 | [Lat, Lon] | | ||
| **ClearWaypoints** | 11005 | `UINT8_T` | 1 | | | ||
| **SetMaxSpeed** | 11006 | `FLOAT_T` | 1 | A multiplier from 0.0 to 1.0 that will scale the max power effort of Autonomy | | ||
| **SetLoggingLevels** | 11007 | `UINT8_T` | 3 | [Enum (AUTONOMYLOG), Enum (AUTONOMYLOG), Enum (AUTONOMYLOG)] {Console, File, RoveComm} | | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **CurrentState** | 11100 | `UINT8_T` | 1 | Enum (AUTONOMYSTATE) | | ||
| **ReachedGoal** | 11101 | `UINT8_T` | 1 | | | ||
| **CurrentLog** | 11102 | `CHAR` | 255 | String version of most current error log | | ||
|
||
## Camera1 Board | ||
|
||
**IP**: 192.168.4.100 | ||
|
||
### Commands | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **ChangeCameras** | 12000 | `UINT8_T` | 2 | Change which camera a feed is looking at. [0] is the feed, [1] is the camera to view. | | ||
| **TakePicture** | 12001 | `UINT8_T` | 2 | Take a picture with the current camera. [0] is the camera to take a picture with. [1] tells the camera whether to restart the stream afterwards. | | ||
| **ToggleStream1** | 12002 | `UINT8_T` | 2 | Stop the current camera stream. [0] is the camera to stop streaming. [1] is whether to restart the stream. | | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **AvailableCameras** | 12100 | `UINT8_T` | 1 | Bitmask values for which cameras are able to stream. LSB is Camera 0, MSB is Camera 7. | | ||
| **StreamingCameras** | 12101 | `UINT8_T` | 4 | Which cameras the system is currently streaming on each port | | ||
| **PictureTaken1** | 12102 | `UINT8_T` | 1 | Picture has been taken. | | ||
|
||
### Errors | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **CameraUnavailable** | 12200 | `UINT8_T` | 1 | Camera has errored and stopped streaming. [0] is ID of camera as an integer (not bitmask). | | ||
|
||
## Camera2 Board | ||
|
||
**IP**: 192.168.4.101 | ||
|
||
### Commands | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **TakePicture** | 13001 | `UINT8_T` | 1 | Take a picture with the current camera. [0] is the camera to take a picture with. [1] tells the camera whether to restart the stream afterwards. | | ||
| **ToggleStream2** | 13002 | `UINT8_T` | 2 | Stop the current camera stream. [0] is the camera to stop streaming. [1] is whether to restart the stream. | | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **PictureTaken2** | 13100 | `UINT8_T` | 1 | Picture has been taken. | | ||
|
||
## IRSpectrometer Board | ||
|
||
**IP**: 192.168.3.104 | ||
|
||
## Instruments Board | ||
|
||
**IP**: 192.168.3.105 | ||
|
||
### Commands | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **EnableLEDs** | 16000 | `UINT8_T` | 1 | [Green, White] [1-Enabled, 0-Disabled] (bitmasked) | | ||
| **RequestRamanReading** | 16001 | `UINT32_T` | 1 | Start a Raman reading, with the provided integration time (milliseconds) | | ||
| **RequestReflectanceReading** | 16002 | `UINT32_T` | 1 | Start a Reflectance reading, with the provided integration time (milliseconds) | | ||
| **RequestTemperature** | 16003 | `UINT8_T` | 1 | Request the temperature of the instrument | | ||
|
||
### Telemetry | ||
|
||
| name | dataId | type | count | description | | ||
| :--- | ------ | ---- | ----- | ----------- | | ||
| **RamanReading_Part1** | 16100 | `UINT16_T` | 500 | Raman CCD elements 1-500 | | ||
| **RamanReading_Part2** | 16101 | `UINT16_T` | 500 | Raman CCD elements 501-1000 | | ||
| **RamanReading_Part3** | 16102 | `UINT16_T` | 500 | Raman CCD elements 1001-1500 | | ||
| **RamanReading_Part4** | 16103 | `UINT16_T` | 500 | Raman CCD elements 1501-2000 | | ||
| **RamanReading_Part5** | 16104 | `UINT16_T` | 48 | Raman CCD elements 2001-2048 | | ||
| **ReflectanceReading** | 16105 | `UINT8_T` | 288 | Reflectance CCD elements 1-288 | | ||
| **Temperature** | 16106 | `INT8_T` | 1 | [Temperature] (degrees C) | | ||
|