echo, m1: correct display scalling; all nrf52 boards jsons: added debug.openocd_target
This commit is contained in:
@@ -34,7 +34,8 @@
|
|||||||
],
|
],
|
||||||
"debug": {
|
"debug": {
|
||||||
"jlink_device": "nRF52840_xxAA",
|
"jlink_device": "nRF52840_xxAA",
|
||||||
"svd_path": "nrf52840.svd"
|
"svd_path": "nrf52840.svd",
|
||||||
|
"openocd_target": "nrf52.cfg"
|
||||||
},
|
},
|
||||||
"frameworks": [
|
"frameworks": [
|
||||||
"arduino"
|
"arduino"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"extra_flags": "-DARDUINO_NRF52840_FEATHER -DNRF52840_XXAA",
|
"extra_flags": "-DARDUINO_NRF52840_FEATHER -DNRF52840_XXAA",
|
||||||
"f_cpu": "64000000L",
|
"f_cpu": "64000000L",
|
||||||
"hwids": [
|
"hwids": [
|
||||||
[
|
[
|
||||||
"0x239A",
|
"0x239A",
|
||||||
"0x00B3"
|
"0x00B3"
|
||||||
],
|
],
|
||||||
@@ -51,7 +51,8 @@
|
|||||||
],
|
],
|
||||||
"debug": {
|
"debug": {
|
||||||
"jlink_device": "nRF52840_xxAA",
|
"jlink_device": "nRF52840_xxAA",
|
||||||
"svd_path": "nrf52840.svd"
|
"svd_path": "nrf52840.svd",
|
||||||
|
"openocd_target": "nrf52.cfg"
|
||||||
},
|
},
|
||||||
"frameworks": [
|
"frameworks": [
|
||||||
"arduino",
|
"arduino",
|
||||||
|
|||||||
@@ -37,7 +37,8 @@
|
|||||||
"onboard_tools": [
|
"onboard_tools": [
|
||||||
"jlink"
|
"jlink"
|
||||||
],
|
],
|
||||||
"svd_path": "nrf52840.svd"
|
"svd_path": "nrf52840.svd",
|
||||||
|
"openocd_target": "nrf52.cfg"
|
||||||
},
|
},
|
||||||
"frameworks": [
|
"frameworks": [
|
||||||
"arduino"
|
"arduino"
|
||||||
|
|||||||
@@ -45,7 +45,8 @@
|
|||||||
"onboard_tools": [
|
"onboard_tools": [
|
||||||
"jlink"
|
"jlink"
|
||||||
],
|
],
|
||||||
"svd_path": "nrf52840.svd"
|
"svd_path": "nrf52840.svd",
|
||||||
|
"openocd_target": "nrf52.cfg"
|
||||||
},
|
},
|
||||||
"frameworks": [
|
"frameworks": [
|
||||||
"arduino"
|
"arduino"
|
||||||
|
|||||||
@@ -32,7 +32,8 @@
|
|||||||
"connectivity": ["bluetooth"],
|
"connectivity": ["bluetooth"],
|
||||||
"debug": {
|
"debug": {
|
||||||
"jlink_device": "nRF52840_xxAA",
|
"jlink_device": "nRF52840_xxAA",
|
||||||
"svd_path": "nrf52840.svd"
|
"svd_path": "nrf52840.svd",
|
||||||
|
"openocd_target": "nrf52.cfg"
|
||||||
},
|
},
|
||||||
"frameworks": ["arduino"],
|
"frameworks": ["arduino"],
|
||||||
"name": "Seeed T1000-E",
|
"name": "Seeed T1000-E",
|
||||||
|
|||||||
17
src/helpers/CustomLR1121.h
Normal file
17
src/helpers/CustomLR1121.h
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <RadioLib.h>
|
||||||
|
|
||||||
|
#define LR1121_IRQ_HAS_PREAMBLE 0b0000000100 // 4 4 valid LoRa header received
|
||||||
|
#define LR1121_IRQ_HEADER_VALID 0b0000010000 // 4 4 valid LoRa header received
|
||||||
|
|
||||||
|
class CustomLR1121 : public LR1121 {
|
||||||
|
public:
|
||||||
|
CustomLR1121(Module *mod) : LR1121(mod) { }
|
||||||
|
|
||||||
|
bool isReceiving() {
|
||||||
|
uint16_t irq = getIrqStatus();
|
||||||
|
bool hasPreamble = ((irq & LR1121_IRQ_HEADER_VALID) && (irq & LR1121_IRQ_HAS_PREAMBLE));
|
||||||
|
return hasPreamble;
|
||||||
|
}
|
||||||
|
};
|
||||||
30
src/helpers/CustomLR1121Wrapper.h
Normal file
30
src/helpers/CustomLR1121Wrapper.h
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "CustomLR1121.h"
|
||||||
|
#include "RadioLibWrappers.h"
|
||||||
|
|
||||||
|
class CustomLR1121Wrapper : public RadioLibWrapper {
|
||||||
|
public:
|
||||||
|
CustomLR1121Wrapper(CustomLR1121& radio, mesh::MainBoard& board) : RadioLibWrapper(radio, board) { }
|
||||||
|
bool isReceiving() override {
|
||||||
|
if (((CustomLR1121 *)_radio)->isReceiving()) return true;
|
||||||
|
|
||||||
|
idle(); // put lr1121 into standby
|
||||||
|
// do some basic CAD (blocks for ~12780 micros (on SF 10)!)
|
||||||
|
bool activity = (((CustomLR1121 *)_radio)->scanChannel() == RADIOLIB_LORA_DETECTED);
|
||||||
|
if (activity) {
|
||||||
|
startRecv();
|
||||||
|
} else {
|
||||||
|
idle();
|
||||||
|
}
|
||||||
|
return activity;
|
||||||
|
}
|
||||||
|
|
||||||
|
void onSendFinished() override {
|
||||||
|
RadioLibWrapper::onSendFinished();
|
||||||
|
_radio->setPreambleLength(8); // overcomes weird issues with small and big pkts
|
||||||
|
}
|
||||||
|
|
||||||
|
float getLastRSSI() const override { return ((CustomLR1121 *)_radio)->getRSSI(); }
|
||||||
|
float getLastSNR() const override { return ((CustomLR1121 *)_radio)->getSNR(); }
|
||||||
|
};
|
||||||
@@ -7,10 +7,10 @@
|
|||||||
|
|
||||||
#ifdef TECHO_ZOOM
|
#ifdef TECHO_ZOOM
|
||||||
#define SCALE_X (1.5625f * 1.5f) // 200 / 128 (with 1.5 scale)
|
#define SCALE_X (1.5625f * 1.5f) // 200 / 128 (with 1.5 scale)
|
||||||
#define SCALE_Y (2.9687f * 1.5f) // 190 / 64 (with 1.5 scale)
|
#define SCALE_Y (1.5625f * 1.5f) // 200 / 128 (with 1.5 scale)
|
||||||
#else
|
#else
|
||||||
#define SCALE_X 1.5625f // 200 / 128
|
#define SCALE_X 1.5625f // 200 / 128
|
||||||
#define SCALE_Y 2.9687f // 190 / 64
|
#define SCALE_Y 1.5625f // 200 / 128
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool GxEPDDisplay::begin() {
|
bool GxEPDDisplay::begin() {
|
||||||
|
|||||||
@@ -14,11 +14,11 @@
|
|||||||
#define GxEPD2_DISPLAY_CLASS GxEPD2_BW
|
#define GxEPD2_DISPLAY_CLASS GxEPD2_BW
|
||||||
#define GxEPD2_DRIVER_CLASS GxEPD2_150_BN // DEPG0150BN 200x200, SSD1681, (FPC8101), TTGO T5 V2.4.1
|
#define GxEPD2_DRIVER_CLASS GxEPD2_150_BN // DEPG0150BN 200x200, SSD1681, (FPC8101), TTGO T5 V2.4.1
|
||||||
|
|
||||||
#include <epd/GxEPD2_150_BN.h> // 1.54" b/w
|
#include <epd/GxEPD2_150_BN.h> // 1.54" b/w
|
||||||
|
|
||||||
#include "DisplayDriver.h"
|
#include "DisplayDriver.h"
|
||||||
|
|
||||||
//GxEPD2_BW<GxEPD2_150_BN, 200> display(GxEPD2_150_BN(DISP_CS, DISP_DC, DISP_RST, DISP_BUSY)); // DEPG0150BN 200x200, SSD1681, TTGO T5 V2.4.1
|
//GxEPD2_BW<GxEPD2_150_BN, 200> display(GxEPD2_150_BN(DISP_CS, DISP_DC, DISP_RST, DISP_BUSY)); // DEPG0150BN 200x200, SSD1681, TTGO T5 V2.4.1
|
||||||
|
|
||||||
|
|
||||||
class GxEPDDisplay : public DisplayDriver {
|
class GxEPDDisplay : public DisplayDriver {
|
||||||
@@ -29,12 +29,12 @@ class GxEPDDisplay : public DisplayDriver {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
// there is a margin in y...
|
// there is a margin in y...
|
||||||
GxEPDDisplay() : DisplayDriver(128, 64), display(GxEPD2_150_BN(DISP_CS, DISP_DC, DISP_RST, DISP_BUSY)) {
|
GxEPDDisplay() : DisplayDriver(128, 128), display(GxEPD2_150_BN(DISP_CS, DISP_DC, DISP_RST, DISP_BUSY)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool begin();
|
bool begin();
|
||||||
|
|
||||||
bool isOn() override {return _isOn;};
|
bool isOn() override {return _isOn;};
|
||||||
void turnOn() override;
|
void turnOn() override;
|
||||||
void turnOff() override;
|
void turnOff() override;
|
||||||
void clear() override;
|
void clear() override;
|
||||||
|
|||||||
Reference in New Issue
Block a user