@@ -800,14 +800,14 @@ static void nRF52_setup()
800800 pinMode (PIN_LED3, INPUT);
801801 pinMode (PIN_LED4, INPUT);
802802
803- #if 1
804803 nRF52_board = nRF52_bl_check (" TECHOBOOT" ) ? NRF52_LILYGO_TECHO_REV_2 :
805804 nRF52_bl_check (" T1000-E" ) ? NRF52_SEEED_T1000E :
806805 nRF52_bl_check (" HT-n5262" ) ? NRF52_HELTEC_T114 :
807806 nRF52_bl_check (" ELECROWBOOT" ) ? NRF52_ELECROW_TN_M1 :
807+ #if !defined(EXCLUDE_WIP)
808808 nRF52_bl_check (" XIAO" ) ? NRF52_SEEED_WIO_L1 : /* TBD */
809+ #endif /* EXCLUDE_WIP */
809810 nRF52_board;
810- #endif
811811
812812 for (int i=0 ; i < sizeof (techo_prototype_boards) / sizeof (prototype_entry_t ); i++) {
813813 if (techo_prototype_boards[i].id == ((uint64_t ) DEVICE_ID_HIGH << 32 | (uint64_t ) DEVICE_ID_LOW)) {
@@ -934,7 +934,11 @@ static void nRF52_setup()
934934#endif /* ARDUINO_ARCH_MBED */
935935 Wire.begin ();
936936 Wire.beginTransmission (AHT20_ADDRESS);
937- if (Wire.endTransmission () == 0 ) { nRF52_board = NRF52_ELECROW_TN_M3; }
937+ if (Wire.endTransmission () == 0 ) {
938+ nRF52_board = NRF52_ELECROW_TN_M3;
939+ hw_info.model = SOFTRF_MODEL_POCKET;
940+ nRF52_Device_Model = " Pocket Edition" ;
941+ }
938942 Wire.end ();
939943 pinMode (SOC_GPIO_PIN_M3_TEMP_EN, INPUT);
940944 }
@@ -948,7 +952,14 @@ static void nRF52_setup()
948952#endif /* ARDUINO_ARCH_MBED */
949953 Wire.begin ();
950954 Wire.beginTransmission (PCF8563_SLAVE_ADDRESS);
951- if (Wire.endTransmission () == 0 ) { nRF52_board = NRF52_ELECROW_TN_M6; }
955+ if (Wire.endTransmission () == 0 ) {
956+ nRF52_board = NRF52_ELECROW_TN_M6;
957+ hw_info.model = SOFTRF_MODEL_SOLARIS;
958+ nRF52_Device_Model = " Solaris Edition" ;
959+
960+ // digitalWrite(SOC_GPIO_PIN_SFL_M6_EN, HIGH);
961+ // pinMode(SOC_GPIO_PIN_SFL_M6_EN, OUTPUT);
962+ }
952963 Wire.end ();
953964 pinMode (SOC_GPIO_PIN_IO_M6_PWR, INPUT);
954965 }
@@ -960,6 +971,9 @@ static void nRF52_setup()
960971 case NRF52_LILYGO_TULTIMA:
961972 Wire.setPins (SOC_GPIO_PIN_TULTIMA_SDA, SOC_GPIO_PIN_TULTIMA_SCL);
962973 break ;
974+ case NRF52_SEEED_WIO_L1:
975+ Wire.setPins (SOC_GPIO_PIN_L1_OLED_SDA, SOC_GPIO_PIN_L1_OLED_SCL); /* TBD */
976+ break ;
963977#endif /* EXCLUDE_WIP */
964978 case NRF52_SEEED_T1000E:
965979 Wire.setPins (SOC_GPIO_PIN_T1000_SDA, SOC_GPIO_PIN_T1000_SCL);
@@ -968,9 +982,6 @@ static void nRF52_setup()
968982 delay (100 );
969983#endif /* EXCLUDE_IMU */
970984 break ;
971- case NRF52_SEEED_WIO_L1:
972- Wire.setPins (SOC_GPIO_PIN_L1_OLED_SDA, SOC_GPIO_PIN_L1_OLED_SCL); /* TBD */
973- break ;
974985 case NRF52_ELECROW_TN_M3:
975986 Wire.setPins (SOC_GPIO_PIN_M3_SDA, SOC_GPIO_PIN_M3_SCL);
976987
@@ -985,6 +996,8 @@ static void nRF52_setup()
985996 break ;
986997 case NRF52_ELECROW_TN_M6:
987998 Wire.setPins (SOC_GPIO_PIN_M6_SDA, SOC_GPIO_PIN_M6_SCL);
999+ // digitalWrite(SOC_GPIO_PIN_IO_M6_PWR, HIGH);
1000+ // pinMode(SOC_GPIO_PIN_IO_M6_PWR, OUTPUT);
9881001 break ;
9891002 case NRF52_LILYGO_TECHO_REV_0:
9901003 case NRF52_LILYGO_TECHO_REV_1:
@@ -1071,14 +1084,6 @@ static void nRF52_setup()
10711084 SOC_GPIO_PIN_SFL_T1000_WP,
10721085 SOC_GPIO_PIN_SFL_T1000_HOLD);
10731086 break ;
1074- case NRF52_SEEED_WIO_L1:
1075- FlashTrans = new Adafruit_FlashTransport_QSPI (SOC_GPIO_PIN_SFL_L1_SCK,
1076- SOC_GPIO_PIN_SFL_L1_SS,
1077- SOC_GPIO_PIN_SFL_L1_MOSI,
1078- SOC_GPIO_PIN_SFL_L1_MISO,
1079- SOC_GPIO_PIN_SFL_L1_WP,
1080- SOC_GPIO_PIN_SFL_L1_HOLD);
1081- break ;
10821087 case NRF52_ELECROW_TN_M6:
10831088 FlashTrans = new Adafruit_FlashTransport_QSPI (SOC_GPIO_PIN_SFL_M6_SCK,
10841089 SOC_GPIO_PIN_SFL_M6_SS,
@@ -1096,6 +1101,14 @@ static void nRF52_setup()
10961101 SOC_GPIO_PIN_SFL_TULTIMA_WP,
10971102 SOC_GPIO_PIN_SFL_TULTIMA_HOLD);
10981103 break ;
1104+ case NRF52_SEEED_WIO_L1:
1105+ FlashTrans = new Adafruit_FlashTransport_QSPI (SOC_GPIO_PIN_SFL_L1_SCK,
1106+ SOC_GPIO_PIN_SFL_L1_SS,
1107+ SOC_GPIO_PIN_SFL_L1_MOSI,
1108+ SOC_GPIO_PIN_SFL_L1_MISO,
1109+ SOC_GPIO_PIN_SFL_L1_WP,
1110+ SOC_GPIO_PIN_SFL_L1_HOLD);
1111+ break ;
10991112#endif /* EXCLUDE_WIP */
11001113 case NRF52_NORDIC_PCA10059:
11011114 case NRF52_ELECROW_TN_M3:
@@ -1187,15 +1200,6 @@ static void nRF52_setup()
11871200 }
11881201#endif /* USE_OLED */
11891202
1190- if (nRF52_board == NRF52_ELECROW_TN_M3) {
1191- hw_info.model = SOFTRF_MODEL_POCKET;
1192- nRF52_Device_Model = " Pocket Edition" ;
1193- } else
1194- if (nRF52_board == NRF52_ELECROW_TN_M6) {
1195- hw_info.model = SOFTRF_MODEL_SOLARIS;
1196- nRF52_Device_Model = " Solaris Edition" ;
1197- }
1198-
11991203#if !defined(ARDUINO_ARCH_MBED) && !defined(ARDUINO_ARCH_ZEPHYR)
12001204 USBDevice.setID (nRF52_USB_VID, nRF52_USB_PID);
12011205 USBDevice.setManufacturerDescriptor (nRF52_Device_Manufacturer);
@@ -1290,6 +1294,11 @@ static void nRF52_setup()
12901294#endif /* ARDUINO_ARCH_MBED */
12911295 /* TBD */
12921296 break ;
1297+ case NRF52_SEEED_WIO_L1:
1298+ digitalWrite (SOC_GPIO_PIN_L1_VBAT_EN, HIGH);
1299+ pinMode (SOC_GPIO_PIN_L1_VBAT_EN, OUTPUT);
1300+ /* TBD */
1301+ break ;
12931302#endif /* EXCLUDE_WIP */
12941303
12951304 case NRF52_SEEED_T1000E:
@@ -1340,12 +1349,6 @@ static void nRF52_setup()
13401349 /* TBD */
13411350 break ;
13421351
1343- case NRF52_SEEED_WIO_L1:
1344- digitalWrite (SOC_GPIO_PIN_L1_VBAT_EN, HIGH);
1345- pinMode (SOC_GPIO_PIN_L1_VBAT_EN, OUTPUT);
1346- /* TBD */
1347- break ;
1348-
13491352 case NRF52_LILYGO_TECHO_REV_0:
13501353 case NRF52_LILYGO_TECHO_REV_1:
13511354 case NRF52_LILYGO_TECHO_REV_2:
@@ -1448,6 +1451,24 @@ static void nRF52_setup()
14481451 }
14491452#endif /* ENABLE_RECORDER */
14501453
1454+ hw_info.revision = 3 ; /* Unknown */
1455+ break ;
1456+
1457+ case NRF52_SEEED_WIO_L1:
1458+ /* Wake up Quectel L76K GNSS */
1459+ digitalWrite (SOC_GPIO_PIN_GNSS_L1_WKE, HIGH);
1460+ pinMode (SOC_GPIO_PIN_GNSS_L1_WKE, OUTPUT);
1461+
1462+ pinMode (SOC_GPIO_LED_L1_GREEN, OUTPUT);
1463+ // pinMode(SOC_GPIO_LED_L1_BLUE, OUTPUT);
1464+
1465+ digitalWrite (SOC_GPIO_LED_L1_GREEN, LED_STATE_ON);
1466+ // digitalWrite(SOC_GPIO_LED_L1_BLUE, LED_STATE_ON);
1467+
1468+ lmic_pins.nss = SOC_GPIO_PIN_L1_SS;
1469+ lmic_pins.rst = SOC_GPIO_PIN_L1_RST;
1470+ lmic_pins.busy = SOC_GPIO_PIN_L1_BUSY;
1471+
14511472 hw_info.revision = 3 ; /* Unknown */
14521473 break ;
14531474#endif /* EXCLUDE_WIP */
@@ -1552,6 +1573,9 @@ static void nRF52_setup()
15521573 break ;
15531574
15541575 case NRF52_ELECROW_TN_M6:
1576+ // digitalWrite(SOC_GPIO_PIN_GNSS_M6_EN, HIGH);
1577+ // pinMode(SOC_GPIO_PIN_GNSS_M6_EN, OUTPUT);
1578+
15551579 /* Wake up Quectel L76K GNSS */
15561580 digitalWrite (SOC_GPIO_PIN_GNSS_M6_RST, HIGH);
15571581 pinMode (SOC_GPIO_PIN_GNSS_M6_RST, OUTPUT);
@@ -1571,24 +1595,6 @@ static void nRF52_setup()
15711595 hw_info.revision = 3 ; /* Unknown */
15721596 break ;
15731597
1574- case NRF52_SEEED_WIO_L1:
1575- /* Wake up Quectel L76K GNSS */
1576- digitalWrite (SOC_GPIO_PIN_GNSS_L1_WKE, HIGH);
1577- pinMode (SOC_GPIO_PIN_GNSS_L1_WKE, OUTPUT);
1578-
1579- pinMode (SOC_GPIO_LED_L1_GREEN, OUTPUT);
1580- // pinMode(SOC_GPIO_LED_L1_BLUE, OUTPUT);
1581-
1582- digitalWrite (SOC_GPIO_LED_L1_GREEN, LED_STATE_ON);
1583- // digitalWrite(SOC_GPIO_LED_L1_BLUE, LED_STATE_ON);
1584-
1585- lmic_pins.nss = SOC_GPIO_PIN_L1_SS;
1586- lmic_pins.rst = SOC_GPIO_PIN_L1_RST;
1587- lmic_pins.busy = SOC_GPIO_PIN_L1_BUSY;
1588-
1589- hw_info.revision = 3 ; /* Unknown */
1590- break ;
1591-
15921598 case NRF52_NORDIC_PCA10059:
15931599 default :
15941600 pinMode (SOC_GPIO_LED_PCA10059_STATUS, OUTPUT);
@@ -2486,6 +2492,22 @@ static void nRF52_fini(int reason)
24862492 }
24872493#endif /* ARDUINO_ARCH_MBED */
24882494 break ;
2495+
2496+ case NRF52_SEEED_WIO_L1:
2497+ digitalWrite (SOC_GPIO_PIN_GNSS_L1_WKE, LOW);
2498+
2499+ digitalWrite (SOC_GPIO_LED_L1_GREEN, 1 -LED_STATE_ON);
2500+ // digitalWrite(SOC_GPIO_LED_L1_BLUE, 1-LED_STATE_ON);
2501+
2502+ pinMode (SOC_GPIO_LED_L1_GREEN, INPUT);
2503+ // pinMode(SOC_GPIO_LED_L1_BLUE, INPUT);
2504+
2505+ pinMode (SOC_GPIO_PIN_SFL_L1_HOLD, INPUT);
2506+ pinMode (SOC_GPIO_PIN_SFL_L1_WP, INPUT);
2507+ pinMode (SOC_GPIO_PIN_SFL_L1_SS, INPUT);
2508+
2509+ pinMode (SOC_GPIO_PIN_L1_VBAT_EN, INPUT);
2510+ break ;
24892511#endif /* EXCLUDE_WIP */
24902512
24912513 case NRF52_SEEED_T1000E:
@@ -2547,22 +2569,6 @@ static void nRF52_fini(int reason)
25472569 pinMode (SOC_GPIO_PIN_M3_TEMP_EN, INPUT);
25482570 break ;
25492571
2550- case NRF52_SEEED_WIO_L1:
2551- digitalWrite (SOC_GPIO_PIN_GNSS_L1_WKE, LOW);
2552-
2553- digitalWrite (SOC_GPIO_LED_L1_GREEN, 1 -LED_STATE_ON);
2554- // digitalWrite(SOC_GPIO_LED_L1_BLUE, 1-LED_STATE_ON);
2555-
2556- pinMode (SOC_GPIO_LED_L1_GREEN, INPUT);
2557- // pinMode(SOC_GPIO_LED_L1_BLUE, INPUT);
2558-
2559- pinMode (SOC_GPIO_PIN_SFL_L1_HOLD, INPUT);
2560- pinMode (SOC_GPIO_PIN_SFL_L1_WP, INPUT);
2561- pinMode (SOC_GPIO_PIN_SFL_L1_SS, INPUT);
2562-
2563- pinMode (SOC_GPIO_PIN_L1_VBAT_EN, INPUT);
2564- break ;
2565-
25662572 case NRF52_NORDIC_PCA10059:
25672573 default :
25682574// ledOff(SOC_GPIO_LED_PCA10059_GREEN);
@@ -2617,6 +2623,10 @@ static void nRF52_fini(int reason)
26172623 case NRF52_LILYGO_TULTIMA:
26182624 mode_button_pin = SOC_GPIO_PIN_TULTIMA_BUTTON1;
26192625 break ;
2626+
2627+ case NRF52_SEEED_WIO_L1:
2628+ mode_button_pin = SOC_GPIO_PIN_L1_BUTTON;
2629+ break ;
26202630#endif /* EXCLUDE_WIP */
26212631
26222632 case NRF52_SEEED_T1000E:
@@ -2639,10 +2649,6 @@ static void nRF52_fini(int reason)
26392649 mode_button_pin = SOC_GPIO_PIN_M6_BUTTON;
26402650 break ;
26412651
2642- case NRF52_SEEED_WIO_L1:
2643- mode_button_pin = SOC_GPIO_PIN_L1_BUTTON;
2644- break ;
2645-
26462652 case NRF52_LILYGO_TECHO_REV_0:
26472653 case NRF52_LILYGO_TECHO_REV_1:
26482654 case NRF52_LILYGO_TECHO_REV_2:
@@ -3089,17 +3095,18 @@ static void nRF52_SPI_begin()
30893095 SOC_GPIO_PIN_TULTIMA_SCK,
30903096 SOC_GPIO_PIN_TULTIMA_MOSI);
30913097 break ;
3098+
3099+ case NRF52_SEEED_WIO_L1:
3100+ SPI.setPins (SOC_GPIO_PIN_L1_MISO,
3101+ SOC_GPIO_PIN_L1_SCK,
3102+ SOC_GPIO_PIN_L1_MOSI);
3103+ break ;
30923104#endif /* EXCLUDE_WIP */
30933105 case NRF52_SEEED_T1000E:
30943106 SPI.setPins (SOC_GPIO_PIN_T1000_MISO,
30953107 SOC_GPIO_PIN_T1000_SCK,
30963108 SOC_GPIO_PIN_T1000_MOSI);
30973109 break ;
3098- case NRF52_SEEED_WIO_L1:
3099- SPI.setPins (SOC_GPIO_PIN_L1_MISO,
3100- SOC_GPIO_PIN_L1_SCK,
3101- SOC_GPIO_PIN_L1_MOSI);
3102- break ;
31033110 case NRF52_ELECROW_TN_M3:
31043111 SPI.setPins (SOC_GPIO_PIN_M3_MISO,
31053112 SOC_GPIO_PIN_M3_SCK,
@@ -3142,6 +3149,10 @@ static void nRF52_swSer_begin(unsigned long baud)
31423149 Serial_GNSS_In.setPins (SOC_GPIO_PIN_GNSS_TULTIMA_RX,
31433150 SOC_GPIO_PIN_GNSS_TULTIMA_TX);
31443151 break ;
3152+ case NRF52_SEEED_WIO_L1:
3153+ Serial_GNSS_In.setPins (SOC_GPIO_PIN_GNSS_L1_RX,
3154+ SOC_GPIO_PIN_GNSS_L1_TX);
3155+ break ;
31453156#endif /* EXCLUDE_WIP */
31463157 case NRF52_SEEED_T1000E:
31473158 Serial_GNSS_In.setPins (SOC_GPIO_PIN_GNSS_T1000_RX,
@@ -3152,10 +3163,6 @@ static void nRF52_swSer_begin(unsigned long baud)
31523163 Serial_GNSS_In.setPins (SOC_GPIO_PIN_GNSS_T114_RX,
31533164 SOC_GPIO_PIN_GNSS_T114_TX);
31543165 break ;
3155- case NRF52_SEEED_WIO_L1:
3156- Serial_GNSS_In.setPins (SOC_GPIO_PIN_GNSS_L1_RX,
3157- SOC_GPIO_PIN_GNSS_L1_TX);
3158- break ;
31593166 case NRF52_ELECROW_TN_M3:
31603167 Serial_GNSS_In.setPins (SOC_GPIO_PIN_GNSS_M3_RX,
31613168 SOC_GPIO_PIN_GNSS_M3_TX);
@@ -4065,6 +4072,10 @@ static void nRF52_Button_setup()
40654072 mode_button_pin = SOC_GPIO_PIN_TULTIMA_BUTTON1;
40664073 // up_button_pin = SOC_GPIO_PIN_TULTIMA_BUTTON2;
40674074 break ;
4075+
4076+ case NRF52_SEEED_WIO_L1:
4077+ mode_button_pin = SOC_GPIO_PIN_L1_BUTTON;
4078+ break ;
40684079#endif /* EXCLUDE_WIP */
40694080
40704081 case NRF52_SEEED_T1000E:
@@ -4088,10 +4099,6 @@ static void nRF52_Button_setup()
40884099 mode_button_pin = SOC_GPIO_PIN_M6_BUTTON;
40894100 break ;
40904101
4091- case NRF52_SEEED_WIO_L1:
4092- mode_button_pin = SOC_GPIO_PIN_L1_BUTTON;
4093- break ;
4094-
40954102 case NRF52_LILYGO_TECHO_REV_0:
40964103 case NRF52_LILYGO_TECHO_REV_1:
40974104 case NRF52_LILYGO_TECHO_REV_2:
0 commit comments