|
1 | 1 | /*
|
2 |
| - This is a library to read/write to external I2C EEPROMs. |
3 |
| - It uses the same template system found in the Arduino |
4 |
| - EEPROM library so you can use the same get() and put() functions. |
| 2 | + This is a library to control IM19 GNSS tilt compensation sensors. |
5 | 3 |
|
6 |
| - https://github.com/sparkfun/SparkFun_External_EEPROM_Arduino_Library |
7 |
| - Best used with the Qwiic EEPROM: https://www.sparkfun.com/products/14764 |
8 |
| -
|
9 |
| - Various external EEPROMs have various interface specs |
10 |
| - (overall size, page size, write times, etc). This library works with |
11 |
| - all types and allows the various settings to be set at runtime. |
12 |
| -
|
13 |
| - All read and write restrictions associated with pages are taken care of. |
14 |
| - You can access the external memory as if it was contiguous. |
| 4 | + https://github.com/sparkfun/SparkFun_IM19_IMU_Arduino_Library |
| 5 | + Best used with the UM980 Breakout: https://www.sparkfun.com/products/23286 |
15 | 6 |
|
16 | 7 | Development environment specifics:
|
17 | 8 | Arduino IDE 1.8.x
|
|
23 | 14 |
|
24 | 15 | */
|
25 | 16 |
|
26 |
| -/* |
27 |
| - Commands covered in v1.1.10 doc |
28 |
| - AT+SYSTEM_RESET - Reset system |
29 |
| - AT+BOOT - Used for bootloading new firmware |
30 |
| - AT+SAVE_ALL - Save current config to NVM |
31 |
| - AT+GNSS_CARD=[HEMI | OEM | NOVTEL | UNICORE] |
32 |
| - AT+AHRS=[ENABLE | DISABLE] |
33 |
| - AT+ANT2=[ENABLE | DISABLE] |
34 |
| - AT+READ_PARA=[SYSTEM | ALL] |
35 |
| - AT+LOAD_DEFAULT |
36 |
| - AT+AUTO_FIX=[ENABLE | DISABLE] |
37 |
| - AT+MAG_AUTO_SAVE=[ENABLE | DISABLE] |
38 |
| - AT+GYR_AUTO_SAVE=[ENABLE | DISABLE] |
39 |
| - AT+ACC_AUTO_SAVE=[ENABLE | DISABLE] |
40 |
| - AT+CLUB_VECTOR=[VALUE1],[VALUE2],[VALUE3] - Pole length |
41 |
| - AT+NAVI_OUTPUT=[UART1 | UART 3], [ON | OFF] - Enable/disable tilt compensation |
42 |
| - AT+MEMS_OUTPUT=[UART1 | UART 3], [ON | OFF] |
43 |
| - AT+GNSS_OUTPUT=[UART1 | UART 3], [ON | OFF] |
44 |
| - AT+LEVER_ARM=X,Y,Z - Product specific location of the IMU. |
45 |
| - AT+CHECK_SYNC |
46 |
| - AT+HIGH_RATE=[ENABLE | DISABLE] |
47 |
| - AT+SET_ALL_PARA |
48 |
| - AT+ACTIVATE_KEY=[KEY] |
49 |
| - AT+ALIGN_VEL=1.0 |
50 |
| -
|
51 |
| - Not in document |
52 |
| - AT+GNSS_PORT=PHYSICAL_UART3 //Uses serial port 3 as the serial port for communication with GNSS |
53 |
| - AT+WORK_MODE=152 //Configured as tilt measurement mode |
54 |
| - AT+SET_PPS_EDGE=RISING/FALLING |
55 |
| -
|
56 |
| - Typical config: |
57 |
| - AT+MAG_AUTO_SAVE=ENABLE |
58 |
| - AT+NAVI_OUTPUT=UART1,ON |
59 |
| - AT+LEVER_ARM=0.007,-0.035,-0.025 |
60 |
| - AT+CLUB_VECTOR=0.00,0.00,1.855 |
61 |
| - AT+GNSS_CARD=UNICORE |
62 |
| - AT+HIGH_RATE=DISABLE |
63 |
| - AT+SAVE_ALL |
64 |
| -*/ |
65 | 17 | #ifndef _SPARKFUN_IM19_IMU_ARDUINO_LIBRARY_H
|
66 | 18 | #define _SPARKFUN_IM19_IMU_ARDUINO_LIBRARY_H
|
67 | 19 |
|
68 | 20 | #include "Arduino.h"
|
69 | 21 |
|
70 |
| -#if __has_include("SoftwareSerial.h") |
71 |
| -#include <SoftwareSerial.h> |
72 |
| -#endif |
73 |
| - |
74 | 22 | #define IM19_CHECK_POINTER_BOOL(packetPointer, initPointer) \
|
75 | 23 | { \
|
76 | 24 | if (packetPointer == nullptr) \
|
@@ -186,7 +134,6 @@ typedef struct
|
186 | 134 | //IM19_GNSS_data_t *callbackData;
|
187 | 135 | } IM19_GNSS_t;
|
188 | 136 |
|
189 |
| - |
190 | 137 | const uint8_t im19Sync1 = 'f';
|
191 | 138 | const uint8_t im19Sync2 = 'm';
|
192 | 139 | const uint8_t im19Sync3 = 'i';
|
@@ -262,11 +209,6 @@ class IM19
|
262 | 209 |
|
263 | 210 | protected:
|
264 | 211 | HardwareSerial *_hwSerialPort = nullptr;
|
265 |
| -#if __has_include("SoftwareSerial.h") |
266 |
| - SoftwareSerial *_swSerialPort = nullptr; |
267 |
| -#else |
268 |
| - HardwareSerial *_swSerialPort = nullptr; |
269 |
| -#endif |
270 | 212 |
|
271 | 213 | public:
|
272 | 214 | bool begin(HardwareSerial &serialPort);
|
|
0 commit comments