DN23E08_modbus/DN23E08/input_registers.cpp

51 lines
1.1 KiB
C++

#include "input_registers.h"
AnalogInputs analogInputs;
void setupInputRegisters(ModbusSerial& mb) {
pinMode(ADC_0_PIN, INPUT);
pinMode(ADC_1_PIN, INPUT);
pinMode(ADC_2_PIN, INPUT);
pinMode(ADC_3_PIN, INPUT);
pinMode(ADC_4_PIN, INPUT);
pinMode(ADC_5_PIN, INPUT);
pinMode(ADC_6_PIN, INPUT);
pinMode(ADC_7_PIN, INPUT);
for (size_t i = 0; i < INPUT_REGISTERS_COUNT; i++)
mb.addIreg(i);
}
void inputRegistersTask(ModbusSerial& mb) {
analogInputs.ADC_0 = analogRead(ADC_0_PIN);
analogInputs.ADC_1 = analogRead(ADC_1_PIN);
analogInputs.ADC_2 = analogRead(ADC_2_PIN);
analogInputs.ADC_3 = analogRead(ADC_3_PIN);
analogInputs.ADC_4 = analogRead(ADC_4_PIN);
analogInputs.ADC_5 = analogRead(ADC_5_PIN);
analogInputs.ADC_6 = analogRead(ADC_6_PIN);
analogInputs.ADC_7 = analogRead(ADC_7_PIN);
mb.setIreg(0, analogInputs.ADC_0);
mb.setIreg(1, analogInputs.ADC_1);
mb.setIreg(2, analogInputs.ADC_2);
mb.setIreg(3, analogInputs.ADC_3);
mb.setIreg(4, analogInputs.ADC_4);
mb.setIreg(5, analogInputs.ADC_5);
mb.setIreg(6, analogInputs.ADC_6);
mb.setIreg(7, analogInputs.ADC_7);
}