diff --git a/mini_beieli_node.h b/mini_beieli_node.h index 811066f..1b16681 100644 --- a/mini_beieli_node.h +++ b/mini_beieli_node.h @@ -56,7 +56,7 @@ enum { | \****************************************************************************/ -static const int32_t fwVersion = 20200714; +static const int32_t fwVersion = 20200721; static const byte INIT_PACKAGE_INTERVAL = 100; // send an init package every 100 packages; static const byte MAX_VALUES_TO_SEND = 8; diff --git a/mini_beieli_node_nau7802.h b/mini_beieli_node_nau7802.h index f6039f8..52549c6 100644 --- a/mini_beieli_node_nau7802.h +++ b/mini_beieli_node_nau7802.h @@ -33,8 +33,9 @@ bool InitializeScales() 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); + // https://electronics.stackexchange.com/questions/91151/weird-reading-from-nau7802-adc + 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 @@ -93,7 +94,7 @@ 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) { unsigned long mytimer = millis();