From 86c51e326c14715c46a748a3ccb36fc58c933c02 Mon Sep 17 00:00:00 2001 From: Jonas Niesner Date: Fri, 7 Mar 2025 22:06:08 +0100 Subject: [PATCH] clean up code --- HGD4_reversed/.gitignore | 5 + HGD4_reversed/.vscode/extensions.json | 10 ++ HGD4_reversed/platformio.ini | 2 +- HGD4_reversed/src/main.cpp | 138 ++++++++++---------------- HGD4_reversed/src/main.h | 14 +++ HGD4_reversed/variants/hgd6/variant.h | 2 + 6 files changed, 83 insertions(+), 88 deletions(-) create mode 100644 HGD4_reversed/.gitignore create mode 100644 HGD4_reversed/.vscode/extensions.json create mode 100644 HGD4_reversed/src/main.h diff --git a/HGD4_reversed/.gitignore b/HGD4_reversed/.gitignore new file mode 100644 index 0000000..89cc49c --- /dev/null +++ b/HGD4_reversed/.gitignore @@ -0,0 +1,5 @@ +.pio +.vscode/.browse.c_cpp.db* +.vscode/c_cpp_properties.json +.vscode/launch.json +.vscode/ipch diff --git a/HGD4_reversed/.vscode/extensions.json b/HGD4_reversed/.vscode/extensions.json new file mode 100644 index 0000000..080e70d --- /dev/null +++ b/HGD4_reversed/.vscode/extensions.json @@ -0,0 +1,10 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "platformio.platformio-ide" + ], + "unwantedRecommendations": [ + "ms-vscode.cpptools-extension-pack" + ] +} diff --git a/HGD4_reversed/platformio.ini b/HGD4_reversed/platformio.ini index 74c84b5..e2ca6c8 100644 --- a/HGD4_reversed/platformio.ini +++ b/HGD4_reversed/platformio.ini @@ -8,7 +8,7 @@ ; Please visit documentation for the other options and examples ; https://docs.platformio.org/page/projectconf.html -[env:nrf52840_dk] +[env:hgd6] platform = nordicnrf52 board = hgd6 framework = arduino diff --git a/HGD4_reversed/src/main.cpp b/HGD4_reversed/src/main.cpp index 8c3e412..49974ae 100644 --- a/HGD4_reversed/src/main.cpp +++ b/HGD4_reversed/src/main.cpp @@ -1,58 +1,16 @@ -#include -#include -#include "ens210.h" // ENS210 library -#include "SparkFun_VEML6030_Ambient_Light_Sensor.h" -#include -#include -#include - -#define LIS3DH_CS 6 - -#define AL_ADDR 0x29 +#include "main.h" SparkFun_Ambient_Light light(AL_ADDR); ENS210 ens210; -Adafruit_LIS3DH lis = Adafruit_LIS3DH(LIS3DH_CS); - -void busscan(); -void measuretemp(); -void lightsense(); -void powerupesp(); - -void in1_handler() { - digitalWrite(DONE,HIGH); - delay(1); - digitalWrite(DONE,LOW); -} +Adafruit_LIS3DH acc1 = Adafruit_LIS3DH(ACCL1_CS); +Adafruit_LIS3DH acc2 = Adafruit_LIS3DH(ACCL2_CS); void setup() { - //latch on the main power - pinMode(PWR_LATCH , OUTPUT); - digitalWrite(PWR_LATCH , HIGH); - //setup watchdog feeding - pinMode(WAKE, INPUT); - pinMode(DONE, OUTPUT); - attachInterrupt(digitalPinToInterrupt(WAKE), in1_handler, RISING); - //setup Serial - Serial.begin(115200); - //setup I2C bus - Wire.begin(); - //set i2c pins - pinMode(I2C_SDA, OUTPUT); - //needed for some boards - in1_handler(); - //set up leds - pinMode(RED_LED,OUTPUT); - pinMode(GREEN_LED,OUTPUT); - delay(100); - digitalWrite(RED_LED,HIGH); - digitalWrite(GREEN_LED,HIGH); + gpioinit(); } -int ptt = 0; - void loop() { Serial.println("loop"); busscan(); @@ -63,57 +21,68 @@ void loop() { delay(1000); } +void wd_handler() { + digitalWrite(DONE,HIGH); + delay(1); + digitalWrite(DONE,LOW); +} + + +void gpioinit(){ + //latch on the main power + pinMode(PWR_LATCH , OUTPUT); + digitalWrite(PWR_LATCH , HIGH); + //setup watchdog feeding + pinMode(WAKE, INPUT); + pinMode(DONE, OUTPUT); + attachInterrupt(digitalPinToInterrupt(WAKE), wd_handler, RISING); + //setup Serial + Serial.begin(115200); + //setup I2C bus + Wire.begin(); + //set i2c pins + pinMode(I2C_SDA, OUTPUT); + //needed for some boards + wd_handler(); + //set up leds + pinMode(RED_LED,OUTPUT); + pinMode(GREEN_LED,OUTPUT); + digitalWrite(RED_LED,HIGH); + digitalWrite(GREEN_LED,HIGH); + //set all other pins + pinMode(MODEM_ESP_PWR,OUTPUT); + digitalWrite(MODEM_ESP_PWR,LOW); + pinMode(ESP_PWR,OUTPUT); + digitalWrite(ESP_PWR,LOW); + pinMode(MODEM_PWRKEY,OUTPUT); + digitalWrite(MODEM_PWRKEY,LOW); +} + void powerupesp(){ - Serial.println("powering up esp"); - pinMode(29,OUTPUT); - digitalWrite(29,HIGH); - pinMode(45,OUTPUT); - digitalWrite(45,HIGH); - delay(600); + Serial.println("Powering up esp"); + digitalWrite(MODEM_ESP_PWR,HIGH); + digitalWrite(ESP_PWR,HIGH); + delay(500); } void powerupmodem(){ Serial.println("powering up modem"); - pinMode(29,OUTPUT); - digitalWrite(29,HIGH); + digitalWrite(MODEM_ESP_PWR,HIGH); delay(600); - pinMode(34,OUTPUT); - digitalWrite(34,HIGH); + digitalWrite(MODEM_PWRKEY,HIGH); delay(600); - digitalWrite(34,LOW); + digitalWrite(MODEM_PWRKEY,LOW); delay(600); } void lightsense(){ - -// Possible values: .125, .25, 1, 2 -// Both .125 and .25 should be used in most cases except darker rooms. -// A gain of 2 should only be used if the sensor will be covered by a dark -// glass. -float gain = .125; - -// Possible integration times in milliseconds: 800, 400, 200, 100, 50, 25 -// Higher times give higher resolutions and should be used in darker light. +float gain = .25; int time = 100; long luxVal = 0; - if(light.begin()) - Serial.println("Ready to sense some light!"); - else - Serial.println("Could not communicate with the sensor!"); - - // Again the gain and integration times determine the resolution of the lux - // value, and give different ranges of possible light readings. Check out - // hoookup guide for more info. + if(!light.begin()) + Serial.println("Could not communicate with the light sensor!"); light.setGain(gain); light.setIntegTime(time); - - Serial.println("Reading settings..."); - Serial.print("Gain: "); - float gainVal = light.readGain(); - Serial.print(gainVal, 3); - Serial.print(" Integration Time: "); - int timeVal = light.readIntegTime(); - Serial.println(timeVal); luxVal = light.readLight(); Serial.print("Ambient Light Reading: "); Serial.print(luxVal); @@ -124,11 +93,9 @@ void measuretemp(){ ens210.begin(); int t_data, t_status, h_data, h_status; ens210.measure(&t_data, &t_status, &h_data, &h_status ); - Serial.print( ens210.toCelsius(t_data,10)/10.0, 1 ); Serial.print(" C, "); Serial.print( ens210.toPercentageH(h_data,1) ); Serial.print(" %RH"); Serial.println(); - } void busscan(){ @@ -140,9 +107,6 @@ void busscan(){ nDevices = 0; for(address = 1; address < 127; address++ ) { - // The i2c_scanner uses the return value of - // the Write.endTransmisstion to see if - // a device did acknowledge to the address. Wire.beginTransmission(address); error = Wire.endTransmission(); diff --git a/HGD4_reversed/src/main.h b/HGD4_reversed/src/main.h new file mode 100644 index 0000000..b71998f --- /dev/null +++ b/HGD4_reversed/src/main.h @@ -0,0 +1,14 @@ +#include +#include +#include +#include +#include +#include "ens210.h" +#include "SparkFun_VEML6030_Ambient_Light_Sensor.h" + +void busscan(); +void measuretemp(); +void lightsense(); +void powerupesp(); +void wd_handler(); +void gpioinit(); \ No newline at end of file diff --git a/HGD4_reversed/variants/hgd6/variant.h b/HGD4_reversed/variants/hgd6/variant.h index 7518ec8..85e9b4e 100644 --- a/HGD4_reversed/variants/hgd6/variant.h +++ b/HGD4_reversed/variants/hgd6/variant.h @@ -96,6 +96,8 @@ static const uint8_t SCK = PIN_SPI_SCK ; static const uint8_t SDA = PIN_WIRE_SDA; static const uint8_t SCL = PIN_WIRE_SCL; +#define AL_ADDR 0x29 + #ifdef __cplusplus } #endif