Compare commits

..
6 Commits
Author SHA1 Message Date
jlehmann cee3752349 some changes 2022-05-21 17:40:50 +02:00
jlehmann c3aa3b7845 with fixed ADC code 2020-08-04 16:19:15 +02:00
jlehmann 3bb6edd1e8 only format code 2020-08-04 16:16:30 +02:00
jlehmann 0aa2c11402 try with other nau7802 settings because of rare wrong readings 2020-07-21 14:27:58 +02:00
jlehmann 7ef7d25693 try some nau7802 settings because of rare wrong readings 2020-07-21 10:33:14 +02:00
jlehmann 1f0072797f millis() is unsigned long 2020-07-14 19:45:25 +02:00
4 changed files with 15 additions and 19 deletions
+3 -2
View File
@@ -20,9 +20,9 @@ Das sind die verwendeten Libraries [1]:
| --- | ----- | ----------- |
| https://github.com/mcci-catena/Adafruit_BME280_Library.git | 3dafbe1 | Wed, 13 Dec 2017 13:56:30 -0500 |
| https://github.com/mcci-catena/Adafruit_Sensor.git | f2af6f4 | Tue, 1 Sep 2015 15:57:59 +0200 |
| https://github.com/mcci-catena/arduino-lmic.git | 1964dcf | Mon, 22 Jun 2020 10:54:56 -0400 |
| https://github.com/mcci-catena/arduino-lmic.git | 9191f0c | Tue, 30 Jun 2020 09:56:19 -0400 |
| https://github.com/mcci-catena/arduino-lorawan.git | 4bc0d48 | Sat, 9 May 2020 12:38:28 -0400 |
| https://github.com/mcci-catena/Catena-Arduino-Platform.git | 478ad23 | Fri, 26 Jun 2020 18:39:01 -0400 |
| https://github.com/mcci-catena/Catena-Arduino-Platform.git | 7620a89 | Fri, 31 Jul 2020 14:14:30 -0400 |
| https://github.com/mcci-catena/Catena-mcciadk.git | a428006 | Sat, 21 Dec 2019 20:45:26 -0500 |
| https://github.com/mcci-catena/MCCI_FRAM_I2C.git | f0a5ea5 | Sat, 21 Dec 2019 16:17:01 -0500 |
| https://github.com/tatobari/Q2-HX711-Arduino-Library.git | ccda8d8 | Wed, 13 Mar 2019 12:41:44 -0300 |
@@ -31,6 +31,7 @@ Das sind die verwendeten Libraries [1]:
| https://github.com/mcci-catena/SHT1x.git | be7042c | Tue, 20 Sep 2011 13:56:23 +1000 |
Patch arduino-lmic, so initial SF12 is used initially:
`
+3 -3
View File
@@ -101,7 +101,7 @@ sMyExtraCommands_top(
\****************************************************************************/
byte my_position = 0; // what is our actual measurement, starts with 0
long timer_pos0;
unsigned long timer_pos0;
// Global Variables
LORA_data lora_data;
@@ -713,7 +713,7 @@ void StartNewIteration() {
}
// Loop sending is in progress, timeout just in case after 600 seconds
long start_time = millis();
unsigned long start_time = millis();
if (config_data.debug_level > 0) {
gCatena.SafePrintf("waiting while send is in progress\n");
}
@@ -943,7 +943,7 @@ void doSleepAlert(const bool fDeepSleep)
}
for (int i = 0; i <= 15; i++) {
long prevPrint = millis();
unsigned long prevPrint = millis();
while (os_queryTimeCriticalJobs(ms2osticks(2000)) != 0)
{
gCatena.poll();
+1 -1
View File
@@ -56,7 +56,7 @@ enum {
|
\****************************************************************************/
static const int32_t fwVersion = 20200701;
static const int32_t fwVersion = 20200804;
static const byte INIT_PACKAGE_INTERVAL = 100; // send an init package every 100 packages;
static const byte MAX_VALUES_TO_SEND = 8;
+8 -13
View File
@@ -10,7 +10,6 @@
#define SAMPLES 5
NAU7802 myScale; //Create instance of the NAU7802 class
byte debug_level;
@@ -27,14 +26,10 @@ bool InitializeScales()
result = myScale.reset(); //Reset all registers
result &= myScale.powerUp(); //Power on analog and digital sections of the scale
result &= myScale.setIntPolarityHigh();
result &= myScale.setLDO(NAU7802_LDO_3V3); //Set LDO to 3.3V
result &= myScale.setGain(NAU7802_GAIN_128); //Set gain to 128
result &= myScale.setSampleRate(NAU7802_SPS_40); //Set samples per second to 40
result &= myScale.setRegister(NAU7802_ADC, 0x30); //Turn off CLK_CHP. From 9.1 power on sequencing.
result &= myScale.clearBit(NAU7802_PGA_PWR_PGA_CAP_EN, NAU7802_PGA_PWR);
//result &= myScale.setRegister(NAU7802_OTP_B1, 0x30);
//result &= myScale.setRegister(NAU7802_PGA, NAU7802_PGA_OUT_EN | NAU7802_PGA_CHP_DIS);
result &= myScale.calibrateAFE(); //Re-cal analog front end when we change gain, sample rate, or channel
@@ -47,7 +42,7 @@ bool SetupScales(byte dbg_level)
if (debug_level > 0) {
gCatena.SafePrintf("SetupScales start\n");
}
// pinMode(interruptPin, INPUT);
// pinMode(interruptPin, INPUT);
if (!myScale.begin(Wire, false))
{
@@ -78,7 +73,7 @@ long ReadScale(char channel)
} else {
channelNumber = NAU7802_CHANNEL_2;
}
long startTime = millis();
unsigned long startTime = millis();
myScale.setChannel(channelNumber);
bool calibrate_success = myScale.calibrateAFE();
if (! calibrate_success) {
@@ -93,10 +88,10 @@ long ReadScale(char channel)
int const num_scale_readings = SAMPLES; // number of instantaneous scale readings to calculate the median
// we use the median, not the average, see https://community.particle.io/t/boron-gpio-provides-less-current-than-electrons-gpio/46647/13
long readings[num_scale_readings]; // create arry to hold readings
long readings[num_scale_readings]; // create array to hold readings
for (int i = 0; i < num_scale_readings; i++) {
//while (digitalRead(interruptPin) == LOW) {
long mytimer = millis();
unsigned long mytimer = millis();
int timeouts = 0;
while (! myScale.available() && (timeouts < 3)) {
// we set a timeout of 10 seconds for the measurement...
@@ -105,7 +100,7 @@ long ReadScale(char channel)
// Timeout reading scale...
Wire.endTransmission(true);
delay(50);
InitializeScales();
InitializeScales();
if (debug_level > 0) {
gCatena.SafePrintf("Timeout while reading scale...\n");
}
@@ -114,8 +109,8 @@ long ReadScale(char channel)
}
long reading;
if (myScale.available()) {
reading = myScale.getReading();
readings[i] = reading;
reading = myScale.getReading();
readings[i] = reading;
}
if (debug_level > 0) {
gCatena.SafePrintf("Reading: %d\n", reading);
@@ -123,7 +118,7 @@ long ReadScale(char channel)
delay(50);
}
long duration = millis() - startTime;
unsigned long duration = millis() - startTime;
res = median(readings, num_scale_readings); // calculate median
if (debug_level > 0) {