remove cc1101_2 from device check
This commit is contained in:
parent
0b8b30d25d
commit
3672abc8b4
|
|
@ -1,12 +1,12 @@
|
|||
#include "../libs/ELECHOUSE_CC1101_SRC_DRV.h"
|
||||
#include <Arduino.h>
|
||||
#include <RF24.h>
|
||||
#include <SPI.h>
|
||||
#include <Wire.h>
|
||||
#include <RF24.h>
|
||||
#include "../libs/ELECHOUSE_CC1101_SRC_DRV.h"
|
||||
|
||||
#include "../config.h"
|
||||
#include "../ui/display.h"
|
||||
#include "buttons.h"
|
||||
#include "../config.h"
|
||||
|
||||
// ===== EXTERNALS =====
|
||||
extern RF24 radio1;
|
||||
|
|
@ -16,16 +16,14 @@ extern U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2;
|
|||
|
||||
// ===== RESULTS =====
|
||||
struct DeviceStatus {
|
||||
bool nrf1 = false;
|
||||
bool nrf2 = false;
|
||||
bool cc1101_1 = false;
|
||||
bool cc1101_2 = false;
|
||||
bool oled = true;
|
||||
bool buttons = false;
|
||||
bool nrf1 = false;
|
||||
bool nrf2 = false;
|
||||
bool cc1101 = false;
|
||||
bool oled = true;
|
||||
};
|
||||
|
||||
// ===== NRF CHECK =====
|
||||
//bool checkNRF(RF24 &radio)
|
||||
// bool checkNRF(RF24 &radio)
|
||||
//{
|
||||
// // safer: only init if needed
|
||||
// if (!radio.isChipConnected()) {
|
||||
|
|
@ -36,172 +34,118 @@ struct DeviceStatus {
|
|||
// return radio.isChipConnected();
|
||||
//}
|
||||
|
||||
bool checkNRF(RF24 &radio)
|
||||
{
|
||||
radio.powerDown();
|
||||
delay(5);
|
||||
bool checkNRF(RF24 &radio) {
|
||||
radio.powerDown();
|
||||
delay(5);
|
||||
|
||||
if (!radio.begin(RADIO_SPI))
|
||||
return false;
|
||||
if (!radio.begin(RADIO_SPI))
|
||||
return false;
|
||||
|
||||
delay(5);
|
||||
delay(5);
|
||||
|
||||
return radio.isChipConnected();
|
||||
return radio.isChipConnected();
|
||||
}
|
||||
|
||||
// ===== CC1101 CHECK =====
|
||||
bool checkCC1101(uint8_t csPin)
|
||||
{
|
||||
ELECHOUSE_cc1101.setSpiPin(
|
||||
cc1101_SCK,
|
||||
cc1101_MISO,
|
||||
cc1101_MOSI,
|
||||
csPin
|
||||
);
|
||||
bool checkCC1101(uint8_t csPin) {
|
||||
ELECHOUSE_cc1101.setSpiPin(cc1101_SCK, cc1101_MISO, cc1101_MOSI, csPin);
|
||||
|
||||
delay(5);
|
||||
delay(5);
|
||||
|
||||
return ELECHOUSE_cc1101.getCC1101();
|
||||
}
|
||||
|
||||
// ===== BUTTON CHECK =====
|
||||
bool checkButtons()
|
||||
{
|
||||
u8g2.clearBuffer();
|
||||
u8g2.setFont(u8g2_font_6x10_tr);
|
||||
u8g2.drawStr(0, 20, "Press any button...");
|
||||
u8g2.sendBuffer();
|
||||
|
||||
unsigned long start = millis();
|
||||
|
||||
while (millis() - start < 2000)
|
||||
{
|
||||
if (!digitalRead(BTN_UP) ||
|
||||
!digitalRead(BTN_DOWN) ||
|
||||
!digitalRead(BTN_SELECT) ||
|
||||
!digitalRead(BTN_BACK) ||
|
||||
!digitalRead(BTN_RIGHT) ||
|
||||
!digitalRead(BTN_LEFT))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
return ELECHOUSE_cc1101.getCC1101();
|
||||
}
|
||||
|
||||
// ===== DRAW =====
|
||||
#define MAX_ITEMS 6
|
||||
#define MAX_ITEMS 4
|
||||
#define VISIBLE_ROWS 5
|
||||
|
||||
const char* labels[MAX_ITEMS] = {
|
||||
"NRF1",
|
||||
"NRF2",
|
||||
"CC1101-1",
|
||||
"CC1101-2",
|
||||
"BUTTONS",
|
||||
"OLED"
|
||||
};
|
||||
const char *labels[MAX_ITEMS] = {"NRF1", "NRF2", "CC1101", "OLED"};
|
||||
|
||||
bool values[MAX_ITEMS];
|
||||
|
||||
int selectedIndex = 0;
|
||||
int offset = 0;
|
||||
|
||||
void drawStatus(DeviceStatus &s)
|
||||
{
|
||||
values[0] = s.nrf1;
|
||||
values[1] = s.nrf2;
|
||||
values[2] = s.cc1101_1;
|
||||
values[3] = s.cc1101_2;
|
||||
values[4] = s.buttons;
|
||||
values[5] = s.oled;
|
||||
void drawStatus(DeviceStatus &s) {
|
||||
values[0] = s.nrf1;
|
||||
values[1] = s.nrf2;
|
||||
values[2] = s.cc1101;
|
||||
values[3] = s.oled;
|
||||
|
||||
u8g2.clearBuffer();
|
||||
u8g2.setFont(u8g2_font_6x10_tr);
|
||||
|
||||
u8g2.clearBuffer();
|
||||
u8g2.setFont(u8g2_font_6x10_tr);
|
||||
// scrolling logic
|
||||
if (selectedIndex < offset)
|
||||
offset = selectedIndex;
|
||||
|
||||
// scrolling logic
|
||||
if (selectedIndex < offset)
|
||||
offset = selectedIndex;
|
||||
if (selectedIndex >= offset + VISIBLE_ROWS)
|
||||
offset = selectedIndex - VISIBLE_ROWS + 1;
|
||||
|
||||
if (selectedIndex >= offset + VISIBLE_ROWS)
|
||||
offset = selectedIndex - VISIBLE_ROWS + 1;
|
||||
for (int i = 0; i < VISIBLE_ROWS; i++) {
|
||||
int item = offset + i;
|
||||
if (item >= MAX_ITEMS)
|
||||
break;
|
||||
|
||||
for (int i = 0; i < VISIBLE_ROWS; i++)
|
||||
{
|
||||
int item = offset + i;
|
||||
if (item >= MAX_ITEMS) break;
|
||||
int y = 12 + i * 10;
|
||||
|
||||
int y = 12 + i * 10;
|
||||
|
||||
if (item == selectedIndex)
|
||||
{
|
||||
u8g2.drawBox(0, y - 9, 128, 10);
|
||||
u8g2.setDrawColor(0);
|
||||
}
|
||||
|
||||
u8g2.drawStr(2, y, labels[item]);
|
||||
|
||||
if (values[item])
|
||||
u8g2.drawStr(80, y, "OK");
|
||||
else
|
||||
u8g2.drawStr(80, y, "FAIL");
|
||||
|
||||
if (item == selectedIndex)
|
||||
u8g2.setDrawColor(1);
|
||||
if (item == selectedIndex) {
|
||||
u8g2.drawBox(0, y - 9, 128, 10);
|
||||
u8g2.setDrawColor(0);
|
||||
}
|
||||
|
||||
u8g2.sendBuffer();
|
||||
u8g2.drawStr(2, y, labels[item]);
|
||||
|
||||
if (values[item])
|
||||
u8g2.drawStr(80, y, "OK");
|
||||
else
|
||||
u8g2.drawStr(80, y, "FAIL");
|
||||
|
||||
if (item == selectedIndex)
|
||||
u8g2.setDrawColor(1);
|
||||
}
|
||||
|
||||
u8g2.sendBuffer();
|
||||
}
|
||||
|
||||
// ===== MAIN =====
|
||||
void device_check_run()
|
||||
{
|
||||
DeviceStatus status;
|
||||
void device_check_run() {
|
||||
DeviceStatus status;
|
||||
|
||||
Serial.println("Running device diagnostics...");
|
||||
Serial.println("Running device diagnostics...");
|
||||
|
||||
// NRF
|
||||
status.nrf1 = checkNRF(radio1);
|
||||
status.nrf2 = checkNRF(radio2);
|
||||
// NRF
|
||||
status.nrf1 = checkNRF(radio1);
|
||||
status.nrf2 = checkNRF(radio2);
|
||||
|
||||
// CC1101
|
||||
status.cc1101_1 = checkCC1101(CC1101_CS);
|
||||
status.cc1101_2 = checkCC1101(CC1101_2_CS);
|
||||
//status.cc1101_1 = status.cc1101_2 = false;
|
||||
// CC1101
|
||||
status.cc1101 = checkCC1101(CC1101_CS);
|
||||
// status.cc1101 = true;
|
||||
|
||||
// Buttons
|
||||
status.buttons = checkButtons();
|
||||
drawStatus(status);
|
||||
|
||||
Serial.println("Diagnostics complete");
|
||||
|
||||
while (1) {
|
||||
drawStatus(status);
|
||||
|
||||
Serial.println("Diagnostics complete");
|
||||
|
||||
while (1)
|
||||
{
|
||||
drawStatus(status);
|
||||
|
||||
if (btnUp())
|
||||
{
|
||||
selectedIndex--;
|
||||
if (selectedIndex < 0) selectedIndex = MAX_ITEMS - 1;
|
||||
delay(150);
|
||||
if (btnUp()) {
|
||||
selectedIndex--;
|
||||
if (selectedIndex < 0)
|
||||
selectedIndex = MAX_ITEMS - 1;
|
||||
delay(150);
|
||||
}
|
||||
|
||||
if (btnDown())
|
||||
{
|
||||
selectedIndex++;
|
||||
if (selectedIndex >= MAX_ITEMS) selectedIndex = 0;
|
||||
delay(150);
|
||||
if (btnDown()) {
|
||||
selectedIndex++;
|
||||
if (selectedIndex >= MAX_ITEMS)
|
||||
selectedIndex = 0;
|
||||
delay(150);
|
||||
}
|
||||
|
||||
if (btnBack())
|
||||
{
|
||||
delay(150);
|
||||
break;
|
||||
if (btnBack()) {
|
||||
delay(150);
|
||||
break;
|
||||
}
|
||||
}}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue