-
Notifications
You must be signed in to change notification settings - Fork 28
Closed
Description
Hi,
Thanks for EmonLib,
Why i cannot compile it, when I use the code example and using STM32 branch of Emonlib
My Setup:
Kubuntu OS
Arduino 1.8.19 and STM32duino v2.3.0 ( https://github.com/stm32duino/Arduino_Core_STM32/releases/tag/2.3.0 )
STM32 BluePill F103C6 (32K)
I use STM32F103C6T6 board and for the Sensor, i'am using ZMPT101B Transformer and Acs712 30A
Using this recommendation https://community.openenergymonitor.org/t/power-power-factor-reading-issue-while-using-acs712-zmpt101b-module/16333/8
I use the code from here https://github.com/openenergymonitor/STM32/blob/master/docs/STM32Duino/EmonLib.md
// EmonLibrary examples openenergymonitor.org, Licence GNU GPL V3
#include "EmonLib.h" // Include Emon Library
EnergyMonitor emon1; // Create an instance
void setup()
{
Serial.begin(9600);
emon1.voltage(PA_0, 268.97, 1.7); // Voltage: input pin, calibration, phase_shift
emon1.current(PA_1, 60.606); // Current: input pin, calibration.
}
void loop()
{
emon1.calcVI(20,2000); // Calculate all. No.of half wavelengths (crossings), time-out
emon1.serialprint(); // Print out all variables (realpower, apparent power, Vrms, Irms, power factor)
float realPower = emon1.realPower; //extract Real Power into variable
float apparentPower = emon1.apparentPower; //extract Apparent Power into variable
float powerFActor = emon1.powerFactor; //extract Power Factor into Variable
float supplyVoltage = emon1.Vrms; //extract Vrms into Variable
float Irms = emon1.Irms; //extract Irms into Variable
}
Using EmonLib from github
teguh@Teguh-X201EV:~/STM32F103$ git clone https://github.com/openenergymonitor/EmonLib.git
Cloning into 'EmonLib'...
remote: Enumerating objects: 182, done.
remote: Total 182 (delta 0), reused 0 (delta 0), pack-reused 182
Receiving objects: 100% (182/182), 47.49 KiB | 1013.00 KiB/s, done.
Resolving deltas: 100% (66/66), done.
teguh@Teguh-X201EV:~/STM32F103$ cd EmonLib
teguh@Teguh-X201EV:~/STM32F103/EmonLib$ git checkout STM32
Branch 'STM32' set up to track remote branch 'STM32' from 'origin'.
Switched to a new branch 'STM32'
teguh@Teguh-X201EV:~/STM32F103/EmonLib$
Here the error:
/opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp: In member function 'void EnergyMonitor::calcVI(unsigned int, unsigned int)':
/opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp:62:35: error: too few arguments to function 'uint16_t adc_read_value(PinName, uint32_t)'
62 | startV = adc_read_value(inPinV); //using the voltage waveform
| ^
In file included from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/board.h:8,
from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/wiring.h:40,
from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/Arduino.h:36,
from /opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.h:15,
from /opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp:13:
/opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/stm32/analog.h:55:10: note: declared here
55 | uint16_t adc_read_value(PinName pin, uint32_t resolution);
| ^~~~~~~~~~~~~~
/opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp:80:36: error: too few arguments to function 'uint16_t adc_read_value(PinName, uint32_t)'
80 | sampleV = adc_read_value(inPinV); //Read in raw voltage signal
| ^
In file included from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/board.h:8,
from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/wiring.h:40,
from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/Arduino.h:36,
from /opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.h:15,
from /opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp:13:
/opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/stm32/analog.h:55:10: note: declared here
55 | uint16_t adc_read_value(PinName pin, uint32_t resolution);
| ^~~~~~~~~~~~~~
/opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp:81:36: error: too few arguments to function 'uint16_t adc_read_value(PinName, uint32_t)'
81 | sampleI = adc_read_value(inPinI); //Read in raw current signal
| ^
In file included from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/board.h:8,
from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/wiring.h:40,
from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/Arduino.h:36,
from /opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.h:15,
from /opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp:13:
/opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/stm32/analog.h:55:10: note: declared here
55 | uint16_t adc_read_value(PinName pin, uint32_t resolution);
| ^~~~~~~~~~~~~~
/opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp: In member function 'double EnergyMonitor::calcIrms(unsigned int)':
/opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp:167:36: error: too few arguments to function 'uint16_t adc_read_value(PinName, uint32_t)'
167 | sampleI = adc_read_value(inPinI);
| ^
In file included from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/board.h:8,
from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/wiring.h:40,
from /opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/Arduino.h:36,
from /opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.h:15,
from /opt/arduino-1.8.19/portable/sketchbook/libraries/EmonLib/EmonLib.cpp:13:
/opt/arduino-1.8.19/portable/packages/STMicroelectronics/hardware/stm32/2.3.0/cores/arduino/stm32/analog.h:55:10: note: declared here
55 | uint16_t adc_read_value(PinName pin, uint32_t resolution);
| ^~~~~~~~~~~~~~
exit status 1
Error compiling for board Generic STM32F1 series.
Best regrads,
Teguh
Metadata
Metadata
Assignees
Labels
No labels