Skip to content

Commit 22c24e4

Browse files
committed
ISM330 menu improvements
1 parent 97a49ac commit 22c24e4

File tree

1 file changed

+66
-3
lines changed

1 file changed

+66
-3
lines changed

Firmware/OpenLog_Artemis/menuAttachedDevices.ino

Lines changed: 66 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2694,7 +2694,6 @@ void menuConfigure_ISM330DHCX(void *configPtr)
26942694
{
26952695
SerialPrintln(F(""));
26962696
SerialPrintln(F("Menu: Configure ISM330DHCX IMU"));
2697-
SerialPrintln(F("Consult the datasheet for the accel and gyro settings"));
26982697

26992698
SerialPrint(F("1) Sensor Logging: "));
27002699
if (sensorSetting->log == true) SerialPrintln(F("Enabled"));
@@ -2743,6 +2742,10 @@ void menuConfigure_ISM330DHCX(void *configPtr)
27432742
sensorSetting->logDataReady ^= 1;
27442743
else if (incoming == 5)
27452744
{
2745+
SerialPrintln(F("2g : 0"));
2746+
SerialPrintln(F("16g: 1"));
2747+
SerialPrintln(F("4g : 2"));
2748+
SerialPrintln(F("8g : 3"));
27462749
SerialPrint(F("Enter the Accel Full Scale (0 to 3): "));
27472750
int newNum = getNumber(menuTimeout); //x second timeout
27482751
if (newNum < 0 || newNum > 3)
@@ -2752,6 +2755,18 @@ void menuConfigure_ISM330DHCX(void *configPtr)
27522755
}
27532756
else if (incoming == 6)
27542757
{
2758+
SerialPrintln(F("OFF : 0"));
2759+
SerialPrintln(F("12.5Hz: 1"));
2760+
SerialPrintln(F("26Hz : 2"));
2761+
SerialPrintln(F("52Hz : 3"));
2762+
SerialPrintln(F("104Hz : 4"));
2763+
SerialPrintln(F("208Hz : 5"));
2764+
SerialPrintln(F("416Hz : 6"));
2765+
SerialPrintln(F("833Hz : 7"));
2766+
SerialPrintln(F("1666Hz: 8"));
2767+
SerialPrintln(F("3332Hz: 9"));
2768+
SerialPrintln(F("6667Hz: 10"));
2769+
SerialPrintln(F("1Hz6 : 11"));
27552770
SerialPrint(F("Enter the Accel Rate (0 to 11): "));
27562771
int newNum = getNumber(menuTimeout); //x second timeout
27572772
if (newNum < 0 || newNum > 11)
@@ -2763,7 +2778,30 @@ void menuConfigure_ISM330DHCX(void *configPtr)
27632778
sensorSetting->accelFilterLP2 ^= 1;
27642779
else if (incoming == 8)
27652780
{
2766-
SerialPrint(F("Enter the Accel Slope Filter setting (0 to 0x37): "));
2781+
SerialPrintln(F("HP_PATH_DISABLE_ON_OUT: 0"));
2782+
SerialPrintln(F("LP_ODR_DIV_10 : 1"));
2783+
SerialPrintln(F("LP_ODR_DIV_20 : 2"));
2784+
SerialPrintln(F("LP_ODR_DIV_45 : 3"));
2785+
SerialPrintln(F("LP_ODR_DIV_100 : 4"));
2786+
SerialPrintln(F("LP_ODR_DIV_200 : 5"));
2787+
SerialPrintln(F("LP_ODR_DIV_400 : 6"));
2788+
SerialPrintln(F("LP_ODR_DIV_800 : 7"));
2789+
SerialPrintln(F("SLOPE_ODR_DIV_4 : 16"));
2790+
SerialPrintln(F("HP_ODR_DIV_10 : 17"));
2791+
SerialPrintln(F("HP_ODR_DIV_20 : 18"));
2792+
SerialPrintln(F("HP_ODR_DIV_45 : 19"));
2793+
SerialPrintln(F("HP_ODR_DIV_100 : 20"));
2794+
SerialPrintln(F("HP_ODR_DIV_200 : 21"));
2795+
SerialPrintln(F("HP_ODR_DIV_400 : 22"));
2796+
SerialPrintln(F("HP_ODR_DIV_800 : 23"));
2797+
SerialPrintln(F("HP_REF_MD_ODR_DIV_10 : 49"));
2798+
SerialPrintln(F("HP_REF_MD_ODR_DIV_20 : 50"));
2799+
SerialPrintln(F("HP_REF_MD_ODR_DIV_45 : 51"));
2800+
SerialPrintln(F("HP_REF_MD_ODR_DIV_100 : 52"));
2801+
SerialPrintln(F("HP_REF_MD_ODR_DIV_200 : 53"));
2802+
SerialPrintln(F("HP_REF_MD_ODR_DIV_400 : 54"));
2803+
SerialPrintln(F("HP_REF_MD_ODR_DIV_800 : 55"));
2804+
SerialPrint(F("Enter the Accel Slope Filter setting (0 to 55): "));
27672805
int newNum = getNumber(menuTimeout); //x second timeout
27682806
if (newNum < 0 || newNum > 55)
27692807
SerialPrintln(F("Error: Out of range"));
@@ -2772,6 +2810,12 @@ void menuConfigure_ISM330DHCX(void *configPtr)
27722810
}
27732811
else if (incoming == 9)
27742812
{
2813+
SerialPrintln(F("125dps : 2"));
2814+
SerialPrintln(F("250dps : 0"));
2815+
SerialPrintln(F("500dps : 4"));
2816+
SerialPrintln(F("1000dps: 8"));
2817+
SerialPrintln(F("2000dps: 12"));
2818+
SerialPrintln(F("4000dps: 1"));
27752819
SerialPrint(F("Enter the Gyro Full Scale (0 to 12): "));
27762820
int newNum = getNumber(menuTimeout); //x second timeout
27772821
if (newNum < 0 || newNum > 12)
@@ -2781,6 +2825,17 @@ void menuConfigure_ISM330DHCX(void *configPtr)
27812825
}
27822826
else if (incoming == 10)
27832827
{
2828+
SerialPrintln(F("OFF : 0"));
2829+
SerialPrintln(F("12Hz : 1"));
2830+
SerialPrintln(F("26Hz : 2"));
2831+
SerialPrintln(F("52Hz : 3"));
2832+
SerialPrintln(F("104Hz : 4"));
2833+
SerialPrintln(F("208Hz : 5"));
2834+
SerialPrintln(F("416Hz : 6"));
2835+
SerialPrintln(F("833Hz : 7"));
2836+
SerialPrintln(F("1666Hz: 8"));
2837+
SerialPrintln(F("3332Hz: 9"));
2838+
SerialPrintln(F("6667Hz: 10"));
27842839
SerialPrint(F("Enter the Gyro Rate (0 to 10): "));
27852840
int newNum = getNumber(menuTimeout); //x second timeout
27862841
if (newNum < 0 || newNum > 10)
@@ -2792,7 +2847,15 @@ void menuConfigure_ISM330DHCX(void *configPtr)
27922847
sensorSetting->gyroFilterLP1 ^= 1;
27932848
else if (incoming == 12)
27942849
{
2795-
SerialPrint(F("Enter the Gyro LP1 Bandwidth (0 to 7): "));
2850+
SerialPrintln(F("ULTRA_LIGHT: 0"));
2851+
SerialPrintln(F("VERY_LIGHT : 1"));
2852+
SerialPrintln(F("LIGHT : 2"));
2853+
SerialPrintln(F("MEDIUM : 3"));
2854+
SerialPrintln(F("STRONG : 4"));
2855+
SerialPrintln(F("VERY_STRONG: 5"));
2856+
SerialPrintln(F("AGGRESSIVE : 6"));
2857+
SerialPrintln(F("XTREME : 7"));
2858+
SerialPrintln(F("Enter the Gyro LP1 Bandwidth (0 to 7): "));
27962859
int newNum = getNumber(menuTimeout); //x second timeout
27972860
if (newNum < 0 || newNum > 7)
27982861
SerialPrintln(F("Error: Out of range"));

0 commit comments

Comments
 (0)