diff --git a/hardware/_controller/_controller.ino b/hardware/_controller/_controller.ino index f65627e..0190a9d 100644 --- a/hardware/_controller/_controller.ino +++ b/hardware/_controller/_controller.ino @@ -99,6 +99,7 @@ void listPrevious(gslc_tsElemRef*); // gslc_tsElemRef* m_SliderDiagrams = NULL; gslc_tsElemRef* m_pElemBatteryLevel= NULL; +gslc_tsElemRef* m_pElemImgPin = NULL; gslc_tsElemRef* m_pElemLsDiagrams = NULL; gslc_tsElemRef* m_pElemRd1152 = NULL; gslc_tsElemRef* m_pElemRd96 = NULL; diff --git a/hardware/_controller/_controller.prj b/hardware/_controller/_controller.prj index 444c530..a4fd56f 100644 Binary files a/hardware/_controller/_controller.prj and b/hardware/_controller/_controller.prj differ diff --git a/hardware/_controller/_controller_GSLC.h b/hardware/_controller/_controller_GSLC.h index 20970a1..7a8f10f 100644 --- a/hardware/_controller/_controller_GSLC.h +++ b/hardware/_controller/_controller_GSLC.h @@ -26,6 +26,11 @@ #include "src/guislice/XProgress.h" #include "src/guislice/XSlider.h" #include "src/guislice/XTextbox.h" + +// Ensure optional features are enabled in the configuration +#if !(GSLC_SD_EN) + #error "Config: GSLC_SD_EN required for this program but not enabled. Please update GUIslice/config/" +#endif // // ------------------------------------------------ @@ -50,12 +55,12 @@ // Enumerations for pages, elements, fonts, images // ------------------------------------------------ // -enum {E_PG_BASE,E_PG_MAIN,E_CONF_RPI,E_WIRING,E_SD_CARD}; -enum {E_ELEM_BATT_LEVEL,E_ELEM_LS_DIA,E_ELEM_RD96,E_ELEM_RD_1152 - ,E_ELEM_RD_UART0,E_ELEM_RD_UART5,E_ELEM_RD_UARTA,E_ELEM_STATUS - ,E_ELEM_TEXT,E_ELEM_TEXT11,E_ELEM_TEXT3,E_ELEM_TEXT4,E_ELEM_TX96 - ,E_ELEM_TX_1152,E_ELEM_TX_SD_INFO,E_ELEM_TX_UART1,E_ELEM_TX_UART5 - ,E_SLR_DIAGRAMS,E_STATUS_LINE}; +enum {E_PG_BASE,E_PG_MAIN,E_CONF_RPI,E_WIRING,E_SD_CARD,E_PG_DIAGRAM}; +enum {E_ELEM_BATT_LEVEL,E_ELEM_IMG_PIN,E_ELEM_LS_DIA,E_ELEM_RD96 + ,E_ELEM_RD_1152,E_ELEM_RD_UART0,E_ELEM_RD_UART5,E_ELEM_RD_UARTA + ,E_ELEM_STATUS,E_ELEM_TEXT,E_ELEM_TEXT11,E_ELEM_TEXT3 + ,E_ELEM_TEXT4,E_ELEM_TX96,E_ELEM_TX_1152,E_ELEM_TX_SD_INFO + ,E_ELEM_TX_UART1,E_ELEM_TX_UART5,E_SLR_DIAGRAMS,E_STATUS_LINE}; enum {E_GRP_SPD,E_GRP_UART}; // Must use separate enum for fonts with MAX_FONT at end to use gslc_FontSet. enum {E_AO_NOTOMONO8PT7B,MAX_FONT}; @@ -69,7 +74,7 @@ enum {E_AO_NOTOMONO8PT7B,MAX_FONT}; // Define the maximum number of elements and pages // ------------------------------------------------ // -#define MAX_PAGE 5 +#define MAX_PAGE 6 #define MAX_ELEM_PG_BASE 3 // # Elems total on page #define MAX_ELEM_PG_BASE_RAM MAX_ELEM_PG_BASE // # Elems in RAM @@ -85,6 +90,9 @@ enum {E_AO_NOTOMONO8PT7B,MAX_FONT}; #define MAX_ELEM_SD_CARD 1 // # Elems total on page #define MAX_ELEM_SD_CARD_RAM MAX_ELEM_SD_CARD // # Elems in RAM + +#define MAX_ELEM_PG_DIAGRAM 1 // # Elems total on page +#define MAX_ELEM_PG_DIAGRAM_RAM MAX_ELEM_PG_DIAGRAM // # Elems in RAM // // ------------------------------------------------ @@ -106,6 +114,8 @@ gslc_tsElem m_asPage3Elem[MAX_ELEM_WIRING_RAM]; gslc_tsElemRef m_asPage3ElemRef[MAX_ELEM_WIRING]; gslc_tsElem m_asPage4Elem[MAX_ELEM_SD_CARD_RAM]; gslc_tsElemRef m_asPage4ElemRef[MAX_ELEM_SD_CARD]; +gslc_tsElem m_asPopup1Elem[MAX_ELEM_PG_DIAGRAM_RAM]; +gslc_tsElemRef m_asPopup1ElemRef[MAX_ELEM_PG_DIAGRAM]; gslc_tsXProgress m_sXBarGauge2; gslc_tsXTextbox m_sTextbox1; char m_acTextboxBuf1[952]; // NRows=17 NCols=56 @@ -133,6 +143,7 @@ char m_acTextboxBuf3[696]; // NRows=12 NCols=58 // extern gslc_tsElemRef* m_SliderDiagrams; extern gslc_tsElemRef* m_pElemBatteryLevel; +extern gslc_tsElemRef* m_pElemImgPin; extern gslc_tsElemRef* m_pElemLsDiagrams; extern gslc_tsElemRef* m_pElemRd1152; extern gslc_tsElemRef* m_pElemRd96; @@ -183,6 +194,7 @@ void InitGUIslice_gen() gslc_PageAdd(&m_gui,E_CONF_RPI,m_asPage2Elem,MAX_ELEM_CONF_RPI_RAM,m_asPage2ElemRef,MAX_ELEM_CONF_RPI); gslc_PageAdd(&m_gui,E_WIRING,m_asPage3Elem,MAX_ELEM_WIRING_RAM,m_asPage3ElemRef,MAX_ELEM_WIRING); gslc_PageAdd(&m_gui,E_SD_CARD,m_asPage4Elem,MAX_ELEM_SD_CARD_RAM,m_asPage4ElemRef,MAX_ELEM_SD_CARD); + gslc_PageAdd(&m_gui,E_PG_DIAGRAM,m_asPopup1Elem,MAX_ELEM_PG_DIAGRAM_RAM,m_asPopup1ElemRef,MAX_ELEM_PG_DIAGRAM); // Now mark E_PG_BASE as a "base" page which means that it's elements // are always visible. This is useful for common page elements. @@ -338,6 +350,16 @@ void InitGUIslice_gen() gslc_ElemSetTxtCol(&m_gui,pElemRef,GSLC_COL_GRAY_LT3); gslc_ElemSetCol(&m_gui,pElemRef,GSLC_COL_GRAY,GSLC_COL_BLACK,GSLC_COL_BLACK); m_pElemSDInfo = pElemRef; + + // ----------------------------------- + // PAGE: E_PG_DIAGRAM + + + // Create E_ELEM_IMG_PIN using Image + pElemRef = gslc_ElemCreateImg(&m_gui,E_ELEM_IMG_PIN,E_PG_DIAGRAM,(gslc_tsRect){0,0,320,240}, + gslc_GetImageFromSD(NULL,GSLC_IMGREF_FMT_RAW1)); + gslc_ElemSetFillEn(&m_gui,pElemRef,false); + m_pElemImgPin = pElemRef; // // diff --git a/hardware/_controller/pinouts/feather-m0-basic.bmp b/hardware/_controller/pinouts/feather-m0-basic.bmp new file mode 100644 index 0000000..42287a2 Binary files /dev/null and b/hardware/_controller/pinouts/feather-m0-basic.bmp differ diff --git a/hardware/_controller/pinouts/kbd-fw.bmp b/hardware/_controller/pinouts/kbd-fw.bmp new file mode 100644 index 0000000..728f2b9 Binary files /dev/null and b/hardware/_controller/pinouts/kbd-fw.bmp differ diff --git a/hardware/_controller/pinouts/originals/Screen-Shot-2019-07-01-at-11.16.21.png b/hardware/_controller/pinouts/originals/Screen-Shot-2019-07-01-at-11.16.21.png new file mode 100644 index 0000000..345d30a Binary files /dev/null and b/hardware/_controller/pinouts/originals/Screen-Shot-2019-07-01-at-11.16.21.png differ diff --git a/hardware/_controller/pinouts/originals/Screen-Shot-2019-07-01-at-11.30.52.png b/hardware/_controller/pinouts/originals/Screen-Shot-2019-07-01-at-11.30.52.png new file mode 100644 index 0000000..7c01378 Binary files /dev/null and b/hardware/_controller/pinouts/originals/Screen-Shot-2019-07-01-at-11.30.52.png differ diff --git a/hardware/_controller/pinouts/originals/adafruit_products_Feather_M0_Basic_Proto_v2.2-1.png b/hardware/_controller/pinouts/originals/adafruit_products_Feather_M0_Basic_Proto_v2.2-1.png new file mode 100644 index 0000000..bff815e Binary files /dev/null and b/hardware/_controller/pinouts/originals/adafruit_products_Feather_M0_Basic_Proto_v2.2-1.png differ diff --git a/hardware/_controller/pinouts/originals/diagram_small.png b/hardware/_controller/pinouts/originals/diagram_small.png new file mode 100644 index 0000000..fb3c004 Binary files /dev/null and b/hardware/_controller/pinouts/originals/diagram_small.png differ diff --git a/hardware/_controller/pinouts/originals/pi-orientation.png b/hardware/_controller/pinouts/originals/pi-orientation.png new file mode 100644 index 0000000..64b075d Binary files /dev/null and b/hardware/_controller/pinouts/originals/pi-orientation.png differ diff --git a/hardware/_controller/pinouts/originals/pinouts.xyz.png b/hardware/_controller/pinouts/originals/pinouts.xyz.png new file mode 100644 index 0000000..a8471e5 Binary files /dev/null and b/hardware/_controller/pinouts/originals/pinouts.xyz.png differ diff --git a/hardware/_controller/pinouts/pi-orientation.bmp b/hardware/_controller/pinouts/pi-orientation.bmp new file mode 100644 index 0000000..00e9f6c Binary files /dev/null and b/hardware/_controller/pinouts/pi-orientation.bmp differ diff --git a/hardware/_controller/pinouts/pi4-overview.bmp b/hardware/_controller/pinouts/pi4-overview.bmp new file mode 100644 index 0000000..9f01a1d Binary files /dev/null and b/hardware/_controller/pinouts/pi4-overview.bmp differ diff --git a/hardware/_controller/pinouts/pi4-pins.bmp b/hardware/_controller/pinouts/pi4-pins.bmp new file mode 100644 index 0000000..a89bbb1 Binary files /dev/null and b/hardware/_controller/pinouts/pi4-pins.bmp differ diff --git a/hardware/_controller/pinouts/rpi.bmp b/hardware/_controller/pinouts/rpi.bmp new file mode 100644 index 0000000..c705e54 Binary files /dev/null and b/hardware/_controller/pinouts/rpi.bmp differ