Skip to content

Commit ed51c96

Browse files
Daniel Newtonjgriffiths
authored andcommitted
config: generalize CONFIG_HAS_BATTERY meaning in Kconfig
Hide more menu items that require camera/battery if not present.
1 parent 7aca506 commit ed51c96

File tree

8 files changed

+97
-44
lines changed

8 files changed

+97
-44
lines changed

main/Kconfig.projbuild

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,32 +33,41 @@ menu "Blockstream Jade"
3333
bool "Blockstream Jade v1 (wheel)"
3434
select HAS_AXP
3535
select HAS_CAMERA
36+
select HAS_BATTERY
3637
config BOARD_TYPE_JADE_V1_1
3738
bool "Blockstream Jade v1.1 (rocker)"
3839
select HAS_AXP
3940
select HAS_CAMERA
41+
select HAS_BATTERY
4042
config BOARD_TYPE_JADE_V2
4143
bool "Blockstream Jade v2 (esp32s3)"
4244
select HAS_AXP
4345
select HAS_CAMERA
46+
select HAS_BATTERY
4447
config BOARD_TYPE_M5_FIRE
4548
bool "M5Stack Fire"
4649
select HAS_IP5306
50+
select HAS_BATTERY
4751
config BOARD_TYPE_M5_BLACK_GRAY
4852
bool "M5Stack Black/Gray"
4953
select HAS_IP5306
54+
select HAS_BATTERY
5055
config BOARD_TYPE_M5_CORE2
5156
bool "M5Stack Core 2"
5257
select HAS_AXP
58+
select HAS_BATTERY
5359
config BOARD_TYPE_M5_CORES3
5460
bool "M5Stack Core S3"
5561
select HAS_AXP
5662
select HAS_CAMERA
63+
select HAS_BATTERY
5764
config BOARD_TYPE_M5_STICKC_PLUS
5865
bool "M5StickC Plus"
5966
select HAS_AXP
67+
select HAS_BATTERY
6068
config BOARD_TYPE_M5_STICKC_PLUS_2
6169
bool "M5StickC Plus 2"
70+
select HAS_BATTERY
6271
config BOARD_TYPE_TTGO_TDISPLAY
6372
bool "TTGO T-DISPLAY"
6473
config BOARD_TYPE_TTGO_TDISPLAYS3
@@ -154,13 +163,6 @@ menu "Blockstream Jade"
154163
help
155164
Jade v1 (and some other devices) come with the AXP192 to manage power to ESP, display, camera
156165

157-
config HAS_BATTERY
158-
bool "Use analog input as battery level indicator and USB connection"
159-
depends on BOARD_TYPE_TTGO_TDISPLAYS3
160-
default n
161-
help
162-
Some devices can measure voltage and detect charging status through an analog input.
163-
164166
menu "SDA/SCL Pin Mapping"
165167
visible if BOARD_TYPE_CUSTOM
166168

@@ -279,6 +281,12 @@ menu "Blockstream Jade"
279281
Enables USB JTAG serial rather than CDC tinyusb, implies no tinyusb/host storage/etc
280282
default n
281283

284+
config HAS_BATTERY
285+
bool "Enable Battery Functions"
286+
help
287+
Enables battery functionality
288+
default y if BOARD_TYPE_JADE_V2 || BOARD_TYPE_JADE_V1_1 || BOARD_TYPE_JADE || BOARD_TYPE_M5_FIRE || BOARD_TYPE_M5_BLACK_GRAY || BOARD_TYPE_M5_CORE2 || BOARD_TYPE_M5_CORES3 || BOARD_TYPE_M5_STICKC_PLUS || BOARD_TYPE_M5_STICKC_PLUS_2
289+
282290
config HAS_CAMERA
283291
bool "Enable Camera Functions"
284292
help

main/amalgamated.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,10 +164,10 @@ void __wrap_abort(void);
164164
#include "./ui/sign_tx.c"
165165
#include "./ui/signer.c"
166166
#include "./ui/update_pinserver.c"
167-
#ifdef CONFIG_IDF_TARGET_ESP32S3
167+
#if defined(CONFIG_IDF_TARGET_ESP32S3) && defined(CONFIG_HAS_BATTERY)
168168
#include "./usbhmsc/usbhmsc.c"
169169
#include "./usbhmsc/usbmode.c"
170-
#endif // CONFIG_IDF_TARGET_ESP32S3
170+
#endif // CONFIG_IDF_TARGET_ESP32S3 && CONFIG_HAS_BATTERY
171171
#include "./utils/address.c"
172172
#include "./utils/cbor_rpc.c"
173173
#ifndef CONFIG_LIBJADE_NO_GUI

main/button_events.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,9 @@ typedef enum {
139139
BTN_SETTINGS_TEMPORARY_WALLET_LOGIN,
140140
BTN_SETTINGS_PINSERVER,
141141
BTN_SETTINGS_PINSERVER_SHOW,
142+
#ifdef CONFIG_HAS_CAMERA
142143
BTN_SETTINGS_PINSERVER_SCAN_QR,
144+
#endif
143145
BTN_SETTINGS_PINSERVER_RESET,
144146
BTN_SETTINGS_PINSERVER_HELP,
145147
BTN_SETTINGS_PINSERVER_EXIT,
@@ -149,7 +151,9 @@ typedef enum {
149151
BTN_SETTINGS_INFO_FWVERSION_EXIT,
150152
BTN_SETTINGS_DEVICE_INFO,
151153
BTN_SETTINGS_DEVICE_INFO_MAC,
154+
#ifdef CONFIG_HAS_BATTERY
152155
BTN_SETTINGS_DEVICE_INFO_BATTERY,
156+
#endif
153157
BTN_SETTINGS_DEVICE_INFO_STORAGE,
154158
BTN_SETTINGS_DEVICE_INFO_STORAGE_EXIT,
155159
BTN_SETTINGS_DEVICE_INFO_DETAIL_EXIT,
@@ -163,12 +167,14 @@ typedef enum {
163167
BTN_SETTINGS_OTP,
164168
BTN_SETTINGS_OTP_VIEW,
165169
BTN_SETTINGS_OTP_NEW,
170+
#ifdef CONFIG_HAS_CAMERA
166171
BTN_SETTINGS_OTP_NEW_QR,
172+
#endif
167173
BTN_SETTINGS_OTP_NEW_KB,
168174
BTN_SETTINGS_OTP_NEW_EXIT,
169175
BTN_SETTINGS_OTP_HELP,
170176
BTN_SETTINGS_OTP_EXIT,
171-
#ifdef CONFIG_IDF_TARGET_ESP32S3
177+
#if defined(CONFIG_IDF_TARGET_ESP32S3) && defined(CONFIG_HAS_BATTERY)
172178
BTN_SETTINGS_USBSTORAGE,
173179
BTN_SETTINGS_USBSTORAGE_FW,
174180
BTN_SETTINGS_USBSTORAGE_BACK,
@@ -180,7 +186,9 @@ typedef enum {
180186
BTN_SETTINGS_BLE,
181187
BTN_SETTINGS_NETWORK_TYPE,
182188
BTN_SETTINGS_CHANGE_PIN,
189+
#ifdef CONFIG_HAS_CAMERA
183190
BTN_SETTINGS_CHANGE_PIN_QR,
191+
#endif
184192
BTN_SETTINGS_RESET,
185193
BTN_SETTINGS_EXIT,
186194

main/gui.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2291,7 +2291,12 @@ static bool update_status_bar(const bool force_redraw)
22912291

22922292
if (status_bar.battery_update_counter == 0) {
22932293
uint8_t new_bat = power_get_battery_status();
2294+
#ifdef CONFIG_HAS_BATTERY
22942295
color_t color = new_bat == 0 ? TFT_RED : new_bat == 1 ? TFT_ORANGE : TFT_WHITE;
2296+
#else
2297+
// If no battery on the device then hide the battery icon with background color
2298+
color_t color = status_bar.root->fill->color;
2299+
#endif
22952300
if (power_get_battery_charging()) {
22962301
new_bat = new_bat + 12;
22972302
}

main/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ static void boot_process(void)
198198
JADE_ASSERT(event_data);
199199
gui_activity_register_event(splash, GUI_EVENT, GUI_FRONT_CLICK_EVENT, sync_wait_event_handler, event_data);
200200

201-
#ifdef CONFIG_IDF_TARGET_ESP32S3
201+
#if defined(CONFIG_IDF_TARGET_ESP32S3) && defined(CONFIG_HAS_BATTERY)
202202
usbstorage_init();
203203
#endif
204204

main/power/jadev20.inc

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,25 +205,32 @@ esp_err_t power_camera_on(void) { return ESP_OK; }
205205

206206
esp_err_t power_camera_off(void)
207207
{
208+
#ifdef CONFIG_HAS_CAMERA
208209
esp_rom_gpio_pad_select_gpio(CONFIG_CAMERA_PWDN);
209210
gpio_set_direction(CONFIG_CAMERA_PWDN, GPIO_MODE_OUTPUT);
210211
gpio_set_level(CONFIG_CAMERA_PWDN, 1);
212+
#endif
211213
return ESP_OK;
212214
}
213215

214216
uint16_t power_get_vbat(void)
215217
{
218+
#ifdef CONFIG_HAS_BATTERY
216219
uint8_t msb, lsb;
217220
JADE_SEMAPHORE_TAKE(i2c_mutex);
218221
I2C_LOG_ANY_ERROR(_power_master_read_slave(stm32, STM32_REG_BAT_VOLTS_0, &lsb, 1));
219222
I2C_LOG_ANY_ERROR(_power_master_read_slave(stm32, STM32_REG_BAT_VOLTS_1, &msb, 1));
220223
JADE_SEMAPHORE_GIVE(i2c_mutex);
221224

222225
return (msb << 8) + lsb;
226+
#else
227+
return 0;
228+
#endif
223229
}
224230

225231
uint8_t power_get_battery_status(void)
226232
{
233+
#ifdef CONFIG_HAS_BATTERY
227234
const uint16_t vbat = power_get_vbat();
228235
if (vbat > 4000) {
229236
return 5;
@@ -236,18 +243,23 @@ uint8_t power_get_battery_status(void)
236243
} else if (vbat > 3400) {
237244
return 1;
238245
}
246+
#endif
239247
return 0;
240248
}
241249

242250
bool power_get_battery_charging(void)
243251
{
252+
#ifdef CONFIG_HAS_BATTERY
244253
JADE_SEMAPHORE_TAKE(i2c_mutex);
245254
uint8_t charging_status;
246255
// Bit5-Bit4: 0b00 Ready 0b01 Charging 0b10 Charge done 0b11 Fault
247256
I2C_LOG_ANY_ERROR(_power_master_read_slave(stm32, STM32_REG_BAT_STATUS, &charging_status, 1));
248257
JADE_SEMAPHORE_GIVE(i2c_mutex);
249258

250259
return (charging_status & STM32_REG_BAT_CHARGING_MASK) == STM32_REG_BAT_CHARGING;
260+
#else
261+
return false;
262+
#endif
251263
}
252264

253265
uint16_t power_get_ibat_charge(void) { return 0; }

main/process/dashboard.c

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2154,7 +2154,7 @@ static void handle_settings(const bool startup_menu)
21542154
case BTN_SETTINGS_WALLET_EXIT:
21552155
case BTN_SETTINGS_AUTHENTICATION_EXIT:
21562156
case BTN_SETTINGS_PINSERVER_EXIT:
2157-
#ifdef CONFIG_IDF_TARGET_ESP32S3
2157+
#if defined(CONFIG_IDF_TARGET_ESP32S3) && defined(CONFIG_HAS_BATTERY)
21582158
case BTN_SETTINGS_USBSTORAGE_EXIT:
21592159
#endif
21602160
// Change to base 'Settings' menu
@@ -2233,9 +2233,11 @@ static void handle_settings(const bool startup_menu)
22332233
handle_display_mac_address();
22342234
break;
22352235

2236+
#ifdef CONFIG_HAS_BATTERY
22362237
case BTN_SETTINGS_DEVICE_INFO_BATTERY:
22372238
handle_display_battery_volts();
22382239
break;
2240+
#endif
22392241

22402242
case BTN_SETTINGS_DEVICE_INFO_STORAGE:
22412243
handle_storage();
@@ -2257,9 +2259,11 @@ static void handle_settings(const bool startup_menu)
22572259
handle_change_pin();
22582260
break;
22592261

2262+
#ifdef CONFIG_HAS_CAMERA
22602263
case BTN_SETTINGS_CHANGE_PIN_QR:
22612264
done = handle_change_pin_qr();
22622265
break;
2266+
#endif
22632267

22642268
// NOTE: Only Jade v1.1's and v2's have brightness controls
22652269
#if defined(CONFIG_BOARD_TYPE_JADE_V1_1) || defined(CONFIG_BOARD_TYPE_JADE_V2) \
@@ -2322,7 +2326,7 @@ static void handle_settings(const bool startup_menu)
23222326
done = offer_temporary_wallet_login();
23232327
break;
23242328

2325-
#ifdef CONFIG_IDF_TARGET_ESP32S3
2329+
#if defined(CONFIG_IDF_TARGET_ESP32S3) && defined(CONFIG_HAS_BATTERY)
23262330
case BTN_SETTINGS_USBSTORAGE:
23272331
// when entering manually (rather than detecting hot plug)
23282332
// we have to first manually disable the usb serial, no op if already off
@@ -2364,9 +2368,11 @@ static void handle_settings(const bool startup_menu)
23642368
handle_view_otps();
23652369
break;
23662370

2371+
#ifdef CONFIG_HAS_CAMERA
23672372
case BTN_SETTINGS_OTP_NEW_QR:
23682373
register_otp_qr();
23692374
break;
2375+
#endif
23702376

23712377
case BTN_SETTINGS_OTP_NEW_KB:
23722378
register_otp_kb_entry();
@@ -2376,9 +2382,11 @@ static void handle_settings(const bool startup_menu)
23762382
show_pinserver_details();
23772383
break;
23782384

2385+
#ifdef CONFIG_HAS_CAMERA
23792386
case BTN_SETTINGS_PINSERVER_SCAN_QR:
23802387
handle_pinserver_scan();
23812388
break;
2389+
#endif
23822390

23832391
case BTN_SETTINGS_PINSERVER_RESET:
23842392
handle_pinserver_reset();

0 commit comments

Comments
 (0)