Compare commits

...

2 Commits

Author SHA1 Message Date
krolyxon 2922e832aa add build script 2026-05-06 20:07:41 +05:30
krolyxon fd69163951 add remaining onoe cc1101 in device check 2026-05-06 20:06:56 +05:30
2 changed files with 74 additions and 25 deletions

63
build.sh Normal file
View File

@ -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

View File

@ -37,35 +37,20 @@ bool checkNRF(RF24 &radio)
}
// ===== CC1101 CHECK =====
bool checkCC1101_1()
bool checkCC1101(uint8_t csPin)
{
ELECHOUSE_cc1101.setSpiPin(
cc1101_SCK,
cc1101_MISO,
cc1101_MOSI,
CC1101_CS
csPin
);
delay(5); // important stabilization
delay(5);
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 =====
bool checkButtons()
{
@ -81,7 +66,9 @@ bool checkButtons()
if (!digitalRead(BTN_UP) ||
!digitalRead(BTN_DOWN) ||
!digitalRead(BTN_SELECT) ||
!digitalRead(BTN_BACK))
!digitalRead(BTN_BACK) ||
!digitalRead(BTN_RIGHT) ||
!digitalRead(BTN_LEFT))
{
return true;
}
@ -97,8 +84,8 @@ bool checkButtons()
const char* labels[MAX_ITEMS] = {
"NRF1",
"NRF2",
"CC1101_1",
"CC1101_2",
"CC1101-1",
"CC1101-2",
"BUTTONS",
"OLED"
};
@ -117,6 +104,7 @@ void drawStatus(DeviceStatus &s)
values[4] = s.buttons;
values[5] = s.oled;
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_6x10_tr);
@ -154,7 +142,6 @@ void drawStatus(DeviceStatus &s)
u8g2.sendBuffer();
}
// ===== MAIN =====
void device_check_run()
{
@ -163,13 +150,12 @@ void device_check_run()
Serial.println("Running device diagnostics...");
// NRF
// NRF link test
status.nrf1 = checkNRF(radio1);
status.nrf2 = checkNRF(radio2);
// CC1101
status.cc1101_1 = checkCC1101_1();
status.cc1101_2 = checkCC1101_1();
status.cc1101_1 = checkCC1101(CC1101_CS);
status.cc1101_2 = checkCC1101(CC1101_2_CS);
// Buttons
status.buttons = checkButtons();