X-Git-Url: https://git.rohieb.name/hackover2013-badge-firmware.git/blobdiff_plain/43b7092bd42d639a527b32dae4af87e37528ef57..b18e11ff1b4ccc97d6a31784593dff904180e64d:/project/commands/cmd_sysinfo.c diff --git a/project/commands/cmd_sysinfo.c b/project/commands/cmd_sysinfo.c index ead3aa8..7e34cbd 100644 --- a/project/commands/cmd_sysinfo.c +++ b/project/commands/cmd_sysinfo.c @@ -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 @@ -58,7 +58,8 @@ #endif #ifdef CFG_TFTLCD - #include "drivers/lcd/tft/lcd.h" + #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 }