Progress for ACS-Board Handlers #1
Labels
No Label
OPS TODO
api change
breaking api change
bug
documentation
duplicate
feature
help wanted
invalid
question
wontfix
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: eive/eive-obsw#1
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Development progress
First step: Python Test program on Raspberry Pi to verify design
Second step: Device Handler implementation
Third step: Device Handler testing
LIS3MDL Magnetometer
Issues
None. Both sensors working as expected.
Settings
RM3100 Magnetometer
Issues
X and Z axis are swapped, issue is known. Otherwise, no issues, LIS3 and RM3100 results for same test magnet are similar.
Settings
L3GD20H Gyroscope
Issues
Sensor side A might be problematic.
Settings
All sensor handlers will be tested with a Raspberry Pi after I have finished my exams.
I will also implement the ADIS Gyroscope handler and implement the GPS Handler, using a freely available NMEA parser library: https://majerle.eu/projects/lwgps-lightweight-gps-nmea-parser-parser-for-embedded-systems
I implemented the
SpiComIF
required to use device handler code on the Q7S and Raspberry Pi and I already tested the LIS3 MGM device handler code on the Raspberry Pi.If I find some time I will also test the other device handlers.
LIS3MDL and RM3100 MGM device handler have been tested as well as the L3GD20H MEMS sensor. The L3GD20H is configured to output big endian data now, this was also specified here https://egit.irs.uni-stuttgart.de/redmine/projects/eive-flight-manual/wiki/L3GD20H_Gyro
Rudimentary ADIS Handler working. 32 bit read mode and more configurability will be implemented as well
Update: Board V2 available now. Things to keep in mind:
The CS pin for the ADIS device slots appesrs to be on the wrong side, but this is just a print issue and the pinout is correct. The reset pin is pulled to VDD, but the ADIS device can be powered off via MOSFET.
Code for Python test script: https://egit.irs.uni-stuttgart.de/eive/eive_devtools/src/branch/mueller/master/PythonSkripts/ACSBoard
Don't leave EN (enable pins) floating, are tied to a PULL UP and active low.
Pins on CSKB:
GND: H1 Pin 7/8
SPI_MISO: H1 P 13
SPI_MOSI: H1 P 14
SPI_SCLK: H1 P 15
GNSS0_nReset: H1 P 25
GNSS0_PPS: H1 P 26
GNSS1_nReset: H1 P 27
GNSS1_PPS: H1 P 28
GNSS0_RXD: H1 P 29
GNSS0_TXD: H1 P 30
GNSS1_RXD: H1 P 31
GNSS1_TXD: H1 P 32
3.3V_A_in: H1 P 52
CS_Gyro0_IN: H2 P 72
CS_Gyro1_IN: H2 P 73
CS_Gyro2_IN: H2 P 74
CS_Gyro3_IN: H2 P 75
EN_GNSS0: H1 P 42
EN_GNSS1: H1 P 44
EN_Gyro0: H2 P 86
EN_Gyro2: H2 P 90
3.3V_B_in: H2 P 89
CS_MGM0_IN: H2 P 93
CS_MGM1_IN: H2 P 94
CS_MGM2_IN: H2 P 95
CS_MGM3_IN: H2 P 96
Basic testing performed:
Both slots were tested in separation because only 1 GPS devices and 1 ADIS gyro device was available.
L3GD20H and LIS3MDL now working properly when setting the bus frequency to 10 MHz instead of 4. 1 also works for some reason. Really weird.. Datasheet said tests were performed at 10 MHz so I guess this is the safest speed for now.
Simulator Access GPS: https://skydel-simulator.ins.uni-stuttgart.de/index.html
Calendar: https://nc.ins.uni-stuttgart.de
Calendar Reservation: [SkyDel] Vorname Nachname - IRS
LIS3 on side A and B have completely inverted polarities.
The Side B sensor currently has the "correct" polarity (+ - +) if one assumes the polarities of the RM3100 sensors to be correct.
ACS board handlers finished