Grim Reefer w/ no ADC that spins at the end and has a radio
Todo
Look into LZ4 compression for getting base64 data off
In comparison to Grim
IMU Boost detection: probably same, maybe single axis?
Altimeter Boost detection: probably same? didn’t trigger on grim flight bc IMU go there first
Data Saving: Larger Preflight buffer, didn’t get all we wanted from Grim
Hardware
Component | Driver | Sim Driver | Notes |
---|---|---|---|
Pump1, Pump 2 | GPIO | sim won't do anything | |
Cameras | GPIO | sim won't do anything | |
LEDS | GPIO | sim won't do anything | |
Servos | PWM | Unsure | untested |
BME390 | Zephyr Driver | OR Barom | ✅tested (sensor mod) |
LSM6DSL | Zephyr Driver | OR IMU | ✅tested (grim) |
MAX-M10M-00B | Ublox module | OR GNSS | untested (other ublox devices work) |
RFM98w | richie driver | ⛔ | in testing |
INA260 (3.3, 5) | richie driver | ⛔(driver by rafael) | ✅tested (grim) |
Main Uart (USB) | Zephyr Driver | Uart tty | ✅tested (grim) |
Debug Uart (USB) | Zephyr Driver | Uart tty 2 | ✅tested (grim) |
Software Inputs
IMU (LSM6DSL)
Barometer (BME380?)
GNSS (u-blox)
Radio Temperature/State
Data Output
Thing | 'Driver' | Notes |
---|---|---|
Preflight Buffer | CDatalogger | ❓ (rolling datalogger sucks on LFS (might have enough ram to do what grim did but only flush after flight)) |
Flight Data | CDatalogger | ✅ |
Flight Log | CFlightLog | ✅⚠ |
Radio Transmission | richie driver | ⚠ |
Horus Encode | nate encoder | ⚠ |
Camera | GPIO | ✅ |
Preflight Data Saving
Circular buffered (but for how long (last year was 1 second which was kinda too small))
File | Things | Packet Size (Bytes) | Rate (hz) |
---|---|---|---|
preflight_imu | IMU (gyro and acc) | 24+4 | 1000 |
preflight_barom | bme380 | 8+4 | 100 |
preflight_gps | GPS | 36+4 | 1 |
Flight Data Saving
File | Things | Packet Size (Bytes) | Rate (hz) |
---|---|---|---|
flight_imu | IMU (gyro and acc) | 24+4 | 1000 |
flight_barom | bme380 | 8+4 | 100 |
flight_gps | GPS | 36+4 | 1 |
Post Flight Data Saving
Sync often bc we're gonna turn it off at some point
File | Things | Packet Size | Rate | |
---|---|---|---|---|
postflight_imu | IMU (acc) | 12+4 | 4hz | can shutup after a while if we're stable. if its windy might want to think about that |
postflight_gps | GPS | 36+4 | 0.1hz | can shutup after a while cuz it wont be moving or be very slow. |
Radio Output
Byte No. | Data Type | Size (bytes) | Description |
---|---|---|---|
0 | uint16 | 2 | Payload ID (0-65535) |
2 | uint16 | 2 | Sequence Number |
4 | uint8 | 1 | Time-of-day (Hours) |
5 | uint8 | 1 | Time-of-day (Minutes) |
6 | uint8 | 1 | Time-of-day (Seconds) |
7 | float | 4 | Latitude |
11 | float | 4 | Longitude |
15 | uint16 | 2 | Altitude (m) |
17 | uint8 | 1 | Speed (kph) |
18 | uint8 | 1 | Satellites |
19 | int8 | 1 | Temperature (deg C) |
20 | uint8 | 1 | Battery Voltage |
21 | ??? | 9 | Custom data |
30 | uint16 | 2 | CRC16-CCITT Checksum |
Testing
Is the FCC gonna kill us test
See altium comments and jonathan DMs
Radio Range Test
With RFM and Antenna, how far can we transmit horusv2 packets
how far when antenna on upright, ground, coiled
go far away
Righting Test
Right side up
Make sure it recognizes it being right side up
Rotate Right
Place one right turn away from what we want
Rotate Left
Place one left turn away from what we want
Rotate Right x2
Place opposite of what we want
On top cap
Does extending member flip it
On bottom cap
Does extending member flip it
At an angle
lean up against a rock
can it flip, get off the rock
In Grass
can it rotate
In Taller Grass
can it rotate
In Mud
is it strong enough
In a Bush
does it fall out
In a Tree
does it fall out
(parachute would probably catch)
Wrapped in Parachute lines
can it still right itself
can it still pump
Measure initial pump time
How long to run
Measure pump duty cycle
for keeping it inflated
Disconnect one pump
can it still keep it up
Can you detect when one pump isnt working/has no load on it?
Can we detect if it falls over
can you then depump, right yourself, then pump up again