Skip to content

Commit d5528f1

Browse files
committed
Added missing ship mode to merged branch
1 parent e338216 commit d5528f1

3 files changed

Lines changed: 81 additions & 2 deletions

File tree

include/qa.h

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,14 @@ void testResultScreen(bool result);
1010

1111
bool checkIfAlreadyPassed();
1212

13-
void savePassedTest();
13+
void savePassedTest();
14+
15+
bool checkIfAlreadyShipped();
16+
17+
bool saveShipmentDone();
18+
19+
bool checkIfShipmentStarted();
20+
21+
bool saveShipmentStarted();
22+
23+
bool enableShipmentMode();

platformio.ini

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ lib_deps =
2828

2929
[env]
3030
framework = arduino, espidf
31-
platform = espressif32@6.12.0
31+
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.37/platform-espressif32.zip
32+
; platform = espressif32@6.12.0
3233
; platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.32/platform-espressif32.zip
3334
check_tool = clangtidy
3435
check_flags =
@@ -124,6 +125,12 @@ build_flags =
124125
-D BOARD_TRMNL
125126
-D PNG_MAX_BUFFERED_PIXELS=6432
126127

128+
board_build.embed_txtfiles =
129+
managed_components/espressif__esp_insights/server_certs/https_server.crt
130+
managed_components/espressif__esp_rainmaker/server_certs/rmaker_mqtt_server.crt
131+
managed_components/espressif__esp_rainmaker/server_certs/rmaker_claim_service_server.crt
132+
managed_components/espressif__esp_rainmaker/server_certs/rmaker_ota_server.crt
133+
127134
[env:trmnl_4clr]
128135
extends = env:esp32-c3-devkitc-02
129136
extra_scripts = scripts/git_version.py
@@ -159,6 +166,12 @@ build_flags =
159166
# light sleep interrupts the serial connection and we miss logs
160167
-D DO_NOT_LIGHT_SLEEP=1
161168

169+
board_build.embed_txtfiles =
170+
managed_components/espressif__esp_insights/server_certs/https_server.crt
171+
managed_components/espressif__esp_rainmaker/server_certs/rmaker_mqtt_server.crt
172+
managed_components/espressif__esp_rainmaker/server_certs/rmaker_claim_service_server.crt
173+
managed_components/espressif__esp_rainmaker/server_certs/rmaker_ota_server.crt
174+
162175
[env:seeed_xiao_esp32c3]
163176
extends = env:esp32_base
164177
board = seeed_xiao_esp32c3

src/main.cpp

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,62 @@
33
#include "esp_ota_ops.h"
44
#include "qa.h"
55

6+
#ifdef BOARD_TRMNL_X
7+
#include "display.h"
8+
#include "esp_sleep.h"
9+
#include "filesystem.h"
10+
#include "modem.h"
11+
#include "logo_medium.h"
612

13+
// TRMNL X setup (quite different from OG)
14+
void setup()
15+
{
16+
#ifndef NO_QA
17+
18+
bool isShipped = checkIfAlreadyShipped();
19+
if (!isShipped) {
20+
bool shipmentStarted = checkIfShipmentStarted();
21+
22+
if (shipmentStarted && check_usb_power()) {
23+
// Battery died during shipping, now powered by USB charger
24+
// Skip shipment mode and mark as complete
25+
saveShipmentDone();
26+
ESP.restart();
27+
}
28+
else {
29+
Serial.begin(115200);
30+
display_init();
31+
filesystem_init();
32+
33+
Serial.println("[MODEM] Resetting modem...");
34+
35+
modem_reset_target();
36+
delay(500); // let modem reach bootloader
37+
38+
display_show_msg(const_cast<uint8_t *>(logo_medium),MODEM_FLASHING);
39+
40+
Modem modem(115200);
41+
if (modem.flashFromFile("/system/factory_ESP32C5-4MB.bin")) {
42+
Serial.println("[MODEM] Factory flash complete.");
43+
}
44+
else {
45+
Serial.println("[MODEM] Factory flash FAILED.");
46+
}
47+
48+
display_show_msg(const_cast<uint8_t *>(logo_medium),READY_TO_SHIP);
49+
// enableShipmentMode() will block until charger is connected
50+
enableShipmentMode();
51+
52+
// Charger detected, save shipment status to preferences
53+
saveShipmentDone();
54+
ESP.restart();
55+
}
56+
}
57+
#endif // NO_QA
58+
59+
bl_init();
60+
}
61+
#else // TRMNL OG setup()
762
void setup()
863
{
964

@@ -14,6 +69,7 @@ void setup()
1469
esp_ota_mark_app_valid_cancel_rollback();
1570
bl_init();
1671
}
72+
#endif // !BOARD_TRMNL_X
1773

1874
void loop()
1975
{

0 commit comments

Comments
 (0)