Merge branch 'master' of gitlab:wintermute/hackover2013-badge-firmware
[hackover2013-badge-firmware.git] / project / commands / cmd_sysinfo.c
index a742f0e..7e34cbd 100644 (file)
@@ -45,8 +45,8 @@
 #include "project/commands.h"       // Generic helper functions
 
 #ifdef CFG_CHIBI
-  #include "drivers/chibi/chb.h"
-  #include "drivers/chibi/chb_drvr.h"
+  #include "drivers/rf/chibi/chb.h"
+  #include "drivers/rf/chibi/chb_drvr.h"
 #endif
 
 #ifdef CFG_PRINTF_UART
@@ -59,6 +59,7 @@
 
 #ifdef CFG_TFTLCD
   #include "drivers/displays/tft/lcd.h"
+  #include "drivers/storage/eeprom/eeprom.h"
 #endif
 
 #ifdef CFG_SDCARD
@@ -74,8 +75,16 @@ void cmd_sysinfo(uint8_t argc, char **argv)
 {
   IAP_return_t iap_return;
 
+  /* Note: Certain values are only reported if CFG_INTERFACE_LONGSYSINFO
+     is set to 1 in projectconfig.h.  These extra values are more useful
+     for debugging than real-world use, so there's no point wasiting
+     flash space storing the code for them */
+
+  printf("%-25s : %d.%d.%d %s", "Firmware", CFG_FIRMWARE_VERSION_MAJOR, CFG_FIRMWARE_VERSION_MINOR, CFG_FIRMWARE_VERSION_REVISION, CFG_PRINTF_NEWLINE);
   printf("%-25s : %d.%d MHz %s", "System Clock", CFG_CPU_CCLK / 1000000, CFG_CPU_CCLK % 1000000, CFG_PRINTF_NEWLINE);
-  printf("%-25s : v%d.%d.%d %s", "Firmware", CFG_FIRMWARE_VERSION_MAJOR, CFG_FIRMWARE_VERSION_MINOR, CFG_FIRMWARE_VERSION_REVISION, CFG_PRINTF_NEWLINE);
+
+  // System Uptime (based on systick timer)
+  printf("%-25s : %u s %s", "System Uptime", (unsigned int)systickGetSecondsActive(), CFG_PRINTF_NEWLINE);
 
   // 128-bit MCU Serial Number
   iap_return = iapReadSerialNumber();
@@ -84,9 +93,32 @@ void cmd_sysinfo(uint8_t argc, char **argv)
     printf("%-25s : %08X %08X %08X %08X %s", "Serial Number", iap_return.Result[0],iap_return.Result[1],iap_return.Result[2],iap_return.Result[3], CFG_PRINTF_NEWLINE);
   }
 
+  #if CFG_INTERFACE_LONGSYSINFO
+    #ifdef CFG_USBCDC
+      printf("%-25s : %d ms %s", "USB Init Timeout", CFG_USBCDC_INITTIMEOUT, CFG_PRINTF_NEWLINE);
+    #endif
+  #endif
+
   // CLI and buffer Settings
-  #ifdef CFG_INTERFACE
-    printf("%-25s : %d bytes %s", "Max CLI Command", CFG_INTERFACE_MAXMSGSIZE, CFG_PRINTF_NEWLINE);
+  #if CFG_INTERFACE_LONGSYSINFO
+    printf("%-25s : %d bytes %s", "CLI Max Command Size", CFG_INTERFACE_MAXMSGSIZE, CFG_PRINTF_NEWLINE);
+    printf("%-25s : %s %s", "CLI IRQ Enabled", CFG_INTERFACE_ENABLEIRQ ? "True" : "False", CFG_PRINTF_NEWLINE);
+    #if CFG_INTERFACE_ENABLEIRQ
+      printf("%-25s : %d.%d %s", "CLI IRQ Location", CFG_INTERFACE_IRQPORT, CFG_INTERFACE_IRQPIN, CFG_PRINTF_NEWLINE);
+    #endif
+  #endif
+
+  #if CFG_INTERFACE_LONGSYSINFO
+    #ifdef CFG_I2CEEPROM
+      printf("%-25s : %d bytes %s", "EEPROM Size", CFG_I2CEEPROM_SIZE, CFG_PRINTF_NEWLINE);
+    #endif
+  #endif
+
+  #ifdef CFG_SDCARD
+    printf("%-25s : %s %s", "SD Card Present", gpioGetValue(CFG_SDCARD_CDPORT, CFG_SDCARD_CDPIN) ? "True" : "False", CFG_PRINTF_NEWLINE);
+    #if CFG_INTERFACE_LONGSYSINFO
+      printf("%-25s : %s %s", "FAT File System", CFG_SDCARD_READONLY ? "Read Only" : "Read/Write", CFG_PRINTF_NEWLINE);
+    #endif
   #endif
 
   #ifdef CFG_PRINTF_UART
@@ -98,6 +130,18 @@ void cmd_sysinfo(uint8_t argc, char **argv)
   #ifdef CFG_TFTLCD
     printf("%-25s : %d %s", "LCD Width", (int)lcdGetWidth(), CFG_PRINTF_NEWLINE);
     printf("%-25s : %d %s", "LCD Height", (int)lcdGetHeight(), CFG_PRINTF_NEWLINE);
+    #if CFG_INTERFACE_LONGSYSINFO
+      printf("%-25s : %04X %s", "LCD Controller ID", (unsigned short)lcdGetControllerID(), CFG_PRINTF_NEWLINE);
+      printf("%-25s : %s %s", "LCD Small Fonts", CFG_TFTLCD_INCLUDESMALLFONTS == 1 ? "True" : "False", CFG_PRINTF_NEWLINE);
+      printf("%-25s : %s %s", "LCD AA Fonts", CFG_TFTLCD_USEAAFONTS == 1 ? "True" : "False", CFG_PRINTF_NEWLINE);
+      lcdProperties_t lcdprops = lcdGetProperties();
+      printf("%-25s : %s %s", "Touch Screen", lcdprops.touchscreen ? "True" : "False", CFG_PRINTF_NEWLINE);
+      if (lcdprops.touchscreen)
+      {
+        printf("%-25s : %s %s", "Touch Screen Calibrated", eepromReadU8(CFG_EEPROM_TOUCHSCREEN_CALIBRATED) == 1 ? "True" : "False", CFG_PRINTF_NEWLINE);
+        printf("%-25s : %d %s", "Touch Screen Threshold", CFG_TFTLCD_TS_DEFAULTTHRESHOLD, CFG_PRINTF_NEWLINE);
+      }
+    #endif
   #endif
 
   // Wireless Settings (if CFG_CHIBI enabled)
@@ -109,9 +153,6 @@ void cmd_sysinfo(uint8_t argc, char **argv)
     printf("%-25s : %d %s", "802.15.4 Channel", CFG_CHIBI_CHANNEL, CFG_PRINTF_NEWLINE);
   #endif
 
-  // System Uptime (based on systick timer)
-  printf("%-25s : %u s %s", "System Uptime", (unsigned int)systickGetSecondsActive(), CFG_PRINTF_NEWLINE);
-
   // System Temperature (if LM75B Present)
   #ifdef CFG_LM75B
     int32_t temp = 0;
@@ -120,7 +161,16 @@ void cmd_sysinfo(uint8_t argc, char **argv)
     printf("%-25s : %d.%d C %s", "Temperature", temp / 1000, temp % 1000, CFG_PRINTF_NEWLINE);
   #endif
 
-  #ifdef CFG_SDCARD
-    printf("%-25s : %s %s", "SD Card Present", gpioGetValue(CFG_SDCARD_CDPORT, CFG_SDCARD_CDPIN) ? "True" : "False", CFG_PRINTF_NEWLINE);
+  // ADC Averaging
+  #if CFG_INTERFACE_LONGSYSINFO
+    printf("%-25s : %s %s", "ADC Averaging", ADC_AVERAGING_ENABLE ? "True" : "False", CFG_PRINTF_NEWLINE);
+    #if ADC_AVERAGING_ENABLE
+      printf("%-25s : %d %s", "ADC Averaging Samples", ADC_AVERAGING_SAMPLES, CFG_PRINTF_NEWLINE);
+    #endif
+  #endif
+
+  // Debug LED
+  #if CFG_INTERFACE_LONGSYSINFO
+    printf("%-25s : %d.%d %s", "LED Location", CFG_LED_PORT, CFG_LED_PIN, CFG_PRINTF_NEWLINE);
   #endif
 }
This page took 0.032034 seconds and 4 git commands to generate.