kopia lustrzana https://github.com/meshtastic/firmware
Posthumous tronk
rodzic
4024bfdeeb
commit
ea72abff22
|
@ -72,22 +72,24 @@ static unsigned char userprefs_admin_key_2[] = USERPREFS_USE_ADMIN_KEY_2;
|
||||||
|
|
||||||
#ifdef HELTEC_MESH_NODE_T114
|
#ifdef HELTEC_MESH_NODE_T114
|
||||||
|
|
||||||
uint32_t read8(uint8_t bits, uint8_t dummy,uint8_t cs,uint8_t sck,uint8_t mosi,uint8_t dc,uint8_t rst)
|
uint32_t read8(uint8_t bits, uint8_t dummy, uint8_t cs, uint8_t sck, uint8_t mosi, uint8_t dc, uint8_t rst)
|
||||||
{
|
{
|
||||||
uint32_t ret = 0;
|
uint32_t ret = 0;
|
||||||
uint8_t SDAPIN = mosi;
|
uint8_t SDAPIN = mosi;
|
||||||
pinMode(SDAPIN, INPUT_PULLUP);
|
pinMode(SDAPIN, INPUT_PULLUP);
|
||||||
digitalWrite(dc, HIGH);
|
digitalWrite(dc, HIGH);
|
||||||
for (int i = 0; i < dummy; i++) { //any dummy clocks
|
for (int i = 0; i < dummy; i++) { // any dummy clocks
|
||||||
digitalWrite(sck, HIGH);
|
digitalWrite(sck, HIGH);
|
||||||
delay(1);
|
delay(1);
|
||||||
digitalWrite(sck, LOW);
|
digitalWrite(sck, LOW);
|
||||||
delay(1);
|
delay(1);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < bits; i++) { // read results
|
for (int i = 0; i < bits; i++) { // read results
|
||||||
ret <<= 1;
|
ret <<= 1;
|
||||||
delay(1);
|
delay(1);
|
||||||
if (digitalRead(SDAPIN)) ret |= 1;;
|
if (digitalRead(SDAPIN))
|
||||||
|
ret |= 1;
|
||||||
|
;
|
||||||
digitalWrite(sck, HIGH);
|
digitalWrite(sck, HIGH);
|
||||||
delay(1);
|
delay(1);
|
||||||
digitalWrite(sck, LOW);
|
digitalWrite(sck, LOW);
|
||||||
|
@ -95,11 +97,11 @@ uint32_t read8(uint8_t bits, uint8_t dummy,uint8_t cs,uint8_t sck,uint8_t mosi,u
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void write9(uint8_t val, uint8_t dc_val,uint8_t cs,uint8_t sck,uint8_t mosi,uint8_t dc,uint8_t rst)
|
void write9(uint8_t val, uint8_t dc_val, uint8_t cs, uint8_t sck, uint8_t mosi, uint8_t dc, uint8_t rst)
|
||||||
{
|
{
|
||||||
pinMode(mosi, OUTPUT);
|
pinMode(mosi, OUTPUT);
|
||||||
digitalWrite(dc, dc_val);
|
digitalWrite(dc, dc_val);
|
||||||
for (int i = 0; i < 8; i++) { //send command
|
for (int i = 0; i < 8; i++) { // send command
|
||||||
digitalWrite(mosi, (val & 0x80) != 0);
|
digitalWrite(mosi, (val & 0x80) != 0);
|
||||||
delay(1);
|
delay(1);
|
||||||
digitalWrite(sck, HIGH);
|
digitalWrite(sck, HIGH);
|
||||||
|
@ -109,16 +111,16 @@ void write9(uint8_t val, uint8_t dc_val,uint8_t cs,uint8_t sck,uint8_t mosi,uint
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t readwrite8(uint8_t cmd, uint8_t bits, uint8_t dummy,uint8_t cs,uint8_t sck,uint8_t mosi,uint8_t dc,uint8_t rst)
|
uint32_t readwrite8(uint8_t cmd, uint8_t bits, uint8_t dummy, uint8_t cs, uint8_t sck, uint8_t mosi, uint8_t dc, uint8_t rst)
|
||||||
{
|
{
|
||||||
digitalWrite(cs, LOW);
|
digitalWrite(cs, LOW);
|
||||||
write9(cmd, 0,cs,sck,mosi,dc,rst);
|
write9(cmd, 0, cs, sck, mosi, dc, rst);
|
||||||
uint32_t ret = read8(bits, dummy,cs,sck,mosi,dc,rst);
|
uint32_t ret = read8(bits, dummy, cs, sck, mosi, dc, rst);
|
||||||
digitalWrite(cs, HIGH);
|
digitalWrite(cs, HIGH);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t get_st7789_id(uint8_t cs,uint8_t sck,uint8_t mosi,uint8_t dc,uint8_t rst)
|
uint32_t get_st7789_id(uint8_t cs, uint8_t sck, uint8_t mosi, uint8_t dc, uint8_t rst)
|
||||||
{
|
{
|
||||||
pinMode(cs, OUTPUT);
|
pinMode(cs, OUTPUT);
|
||||||
digitalWrite(cs, HIGH);
|
digitalWrite(cs, HIGH);
|
||||||
|
@ -127,14 +129,14 @@ uint32_t get_st7789_id(uint8_t cs,uint8_t sck,uint8_t mosi,uint8_t dc,uint8_t rs
|
||||||
pinMode(mosi, OUTPUT);
|
pinMode(mosi, OUTPUT);
|
||||||
pinMode(dc, OUTPUT);
|
pinMode(dc, OUTPUT);
|
||||||
pinMode(rst, OUTPUT);
|
pinMode(rst, OUTPUT);
|
||||||
digitalWrite(rst, LOW); //Hardware Reset
|
digitalWrite(rst, LOW); // Hardware Reset
|
||||||
delay(10);
|
delay(10);
|
||||||
digitalWrite(rst, HIGH);
|
digitalWrite(rst, HIGH);
|
||||||
delay(10);
|
delay(10);
|
||||||
|
|
||||||
uint32_t ID = 0;
|
uint32_t ID = 0;
|
||||||
ID = readwrite8(0x04, 24, 1,cs,sck,mosi,dc,rst);
|
ID = readwrite8(0x04, 24, 1, cs, sck, mosi, dc, rst);
|
||||||
ID = readwrite8(0x04, 24, 1,cs,sck,mosi,dc,rst); //ST7789 needs twice
|
ID = readwrite8(0x04, 24, 1, cs, sck, mosi, dc, rst); // ST7789 needs twice
|
||||||
return ID;
|
return ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -560,9 +562,8 @@ void NodeDB::installDefaultConfig(bool preserveKey = false)
|
||||||
defined(HX8357_CS) || defined(USE_ST7789)
|
defined(HX8357_CS) || defined(USE_ST7789)
|
||||||
bool hasScreen = true;
|
bool hasScreen = true;
|
||||||
#ifdef HELTEC_MESH_NODE_T114
|
#ifdef HELTEC_MESH_NODE_T114
|
||||||
uint32_t st7789_id=get_st7789_id(ST7789_NSS,ST7789_SCK,ST7789_SDA,ST7789_RS,ST7789_RESET);
|
uint32_t st7789_id = get_st7789_id(ST7789_NSS, ST7789_SCK, ST7789_SDA, ST7789_RS, ST7789_RESET);
|
||||||
if(st7789_id==0xFFFFFF)
|
if (st7789_id == 0xFFFFFF) {
|
||||||
{
|
|
||||||
hasScreen = false;
|
hasScreen = false;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Ładowanie…
Reference in New Issue