Compare commits
2 Commits
ef5352a7f1
...
2922e832aa
| Author | SHA1 | Date |
|---|---|---|
|
|
2922e832aa | |
|
|
fd69163951 |
|
|
@ -0,0 +1,63 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# ========= CONFIG =========
|
||||||
|
PORT="/dev/ttyACM0"
|
||||||
|
|
||||||
|
FQBN="esp32:esp32:esp32s3:\
|
||||||
|
UploadSpeed=921600,\
|
||||||
|
USBMode=hwcdc,\
|
||||||
|
CDCOnBoot=default,\
|
||||||
|
MSCOnBoot=default,\
|
||||||
|
DFUOnBoot=default,\
|
||||||
|
UploadMode=default,\
|
||||||
|
CPUFreq=240,\
|
||||||
|
FlashMode=qio,\
|
||||||
|
FlashSize=16M,\
|
||||||
|
PartitionScheme=fatflash,\
|
||||||
|
DebugLevel=none,\
|
||||||
|
PSRAM=opi,\
|
||||||
|
LoopCore=1,\
|
||||||
|
EventsCore=1,\
|
||||||
|
EraseFlash=none,\
|
||||||
|
JTAGAdapter=default,\
|
||||||
|
ZigbeeMode=default"
|
||||||
|
|
||||||
|
# ========= FLAGS =========
|
||||||
|
UPLOAD=false
|
||||||
|
SKETCH_PATH="./firmware"
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case "$1" in
|
||||||
|
-u|--upload)
|
||||||
|
UPLOAD=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
SKETCH_PATH="$1"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# ========= BUILD =========
|
||||||
|
echo "Compiling sketch..."
|
||||||
|
|
||||||
|
arduino-cli compile \
|
||||||
|
--fqbn "$FQBN" \
|
||||||
|
"$SKETCH_PATH"
|
||||||
|
|
||||||
|
echo "Compile successful."
|
||||||
|
|
||||||
|
# ========= UPLOAD =========
|
||||||
|
if [ "$UPLOAD" = true ]; then
|
||||||
|
echo "Uploading to $PORT..."
|
||||||
|
|
||||||
|
arduino-cli upload \
|
||||||
|
-p "$PORT" \
|
||||||
|
--fqbn "$FQBN" \
|
||||||
|
"$SKETCH_PATH"
|
||||||
|
|
||||||
|
echo "Upload complete."
|
||||||
|
fi
|
||||||
|
|
@ -37,35 +37,20 @@ bool checkNRF(RF24 &radio)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===== CC1101 CHECK =====
|
// ===== CC1101 CHECK =====
|
||||||
bool checkCC1101_1()
|
bool checkCC1101(uint8_t csPin)
|
||||||
{
|
{
|
||||||
ELECHOUSE_cc1101.setSpiPin(
|
ELECHOUSE_cc1101.setSpiPin(
|
||||||
cc1101_SCK,
|
cc1101_SCK,
|
||||||
cc1101_MISO,
|
cc1101_MISO,
|
||||||
cc1101_MOSI,
|
cc1101_MOSI,
|
||||||
CC1101_CS
|
csPin
|
||||||
);
|
);
|
||||||
|
|
||||||
delay(5); // important stabilization
|
delay(5);
|
||||||
|
|
||||||
return ELECHOUSE_cc1101.getCC1101();
|
return ELECHOUSE_cc1101.getCC1101();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool checkCC1101_2()
|
|
||||||
{
|
|
||||||
ELECHOUSE_cc1101.setSpiPin(
|
|
||||||
cc1101_SCK,
|
|
||||||
cc1101_MISO,
|
|
||||||
cc1101_MOSI,
|
|
||||||
CC1101_2_CS
|
|
||||||
);
|
|
||||||
|
|
||||||
delay(5); // important stabilization
|
|
||||||
|
|
||||||
return ELECHOUSE_cc1101.getCC1101();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ===== BUTTON CHECK =====
|
// ===== BUTTON CHECK =====
|
||||||
bool checkButtons()
|
bool checkButtons()
|
||||||
{
|
{
|
||||||
|
|
@ -81,7 +66,9 @@ bool checkButtons()
|
||||||
if (!digitalRead(BTN_UP) ||
|
if (!digitalRead(BTN_UP) ||
|
||||||
!digitalRead(BTN_DOWN) ||
|
!digitalRead(BTN_DOWN) ||
|
||||||
!digitalRead(BTN_SELECT) ||
|
!digitalRead(BTN_SELECT) ||
|
||||||
!digitalRead(BTN_BACK))
|
!digitalRead(BTN_BACK) ||
|
||||||
|
!digitalRead(BTN_RIGHT) ||
|
||||||
|
!digitalRead(BTN_LEFT))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -97,8 +84,8 @@ bool checkButtons()
|
||||||
const char* labels[MAX_ITEMS] = {
|
const char* labels[MAX_ITEMS] = {
|
||||||
"NRF1",
|
"NRF1",
|
||||||
"NRF2",
|
"NRF2",
|
||||||
"CC1101_1",
|
"CC1101-1",
|
||||||
"CC1101_2",
|
"CC1101-2",
|
||||||
"BUTTONS",
|
"BUTTONS",
|
||||||
"OLED"
|
"OLED"
|
||||||
};
|
};
|
||||||
|
|
@ -117,6 +104,7 @@ void drawStatus(DeviceStatus &s)
|
||||||
values[4] = s.buttons;
|
values[4] = s.buttons;
|
||||||
values[5] = s.oled;
|
values[5] = s.oled;
|
||||||
|
|
||||||
|
|
||||||
u8g2.clearBuffer();
|
u8g2.clearBuffer();
|
||||||
u8g2.setFont(u8g2_font_6x10_tr);
|
u8g2.setFont(u8g2_font_6x10_tr);
|
||||||
|
|
||||||
|
|
@ -154,7 +142,6 @@ void drawStatus(DeviceStatus &s)
|
||||||
u8g2.sendBuffer();
|
u8g2.sendBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ===== MAIN =====
|
// ===== MAIN =====
|
||||||
void device_check_run()
|
void device_check_run()
|
||||||
{
|
{
|
||||||
|
|
@ -163,13 +150,12 @@ void device_check_run()
|
||||||
Serial.println("Running device diagnostics...");
|
Serial.println("Running device diagnostics...");
|
||||||
|
|
||||||
// NRF
|
// NRF
|
||||||
// NRF link test
|
|
||||||
status.nrf1 = checkNRF(radio1);
|
status.nrf1 = checkNRF(radio1);
|
||||||
status.nrf2 = checkNRF(radio2);
|
status.nrf2 = checkNRF(radio2);
|
||||||
|
|
||||||
// CC1101
|
// CC1101
|
||||||
status.cc1101_1 = checkCC1101_1();
|
status.cc1101_1 = checkCC1101(CC1101_CS);
|
||||||
status.cc1101_2 = checkCC1101_1();
|
status.cc1101_2 = checkCC1101(CC1101_2_CS);
|
||||||
|
|
||||||
// Buttons
|
// Buttons
|
||||||
status.buttons = checkButtons();
|
status.buttons = checkButtons();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue