IoAbstraction
Loading...
Searching...
No Matches
AnalogDeviceAbstraction.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2018 https://www.thecoderscorner.com (Dave Cherry).
3 * This product is licensed under an Apache license, see the LICENSE file in the top-level directory.
4 */
5
6#ifndef _ANALOG_DEVICE_ABSTRACTION_H_
7#define _ANALOG_DEVICE_ABSTRACTION_H_
8
9#include "PlatformDetermination.h"
10#include "BasicIoAbstraction.h"
11
22enum AnalogDirection { DIR_IN, DIR_OUT, DIR_PWM };
23
32public:
38 virtual int getMaximumRange(AnalogDirection direction, pinid_t pin)=0;
39
45 virtual int getBitDepth(AnalogDirection direction, pinid_t pin) = 0;
46
54 virtual void initPin(pinid_t pin, AnalogDirection direction) = 0;
55
61 virtual unsigned int getCurrentValue(pinid_t pin)=0;
62
63 /*
64 * Returns the current value on the ADC as a float between
65 * 0 and 1.
66 */
67 virtual float getCurrentFloat(pinid_t pin) = 0;
68
74 virtual void setCurrentValue(pinid_t pin, unsigned int newValue)=0;
75
82 virtual void setCurrentFloat(pinid_t pin, float newValue)=0;
83
84};
85
86#if defined(IOA_USE_MBED)
87#include "mbed/MbedAnalogDevice.h"
88#elif defined(ESP32)
89# include "esp32/ESP32AnalogDevice.h"
90#elif defined(IOA_USE_ARDUINO)
91#include "arduino/ArduinoAnalogDevice.h"
92#elif defined(BUILD_FOR_PICO_CMAKE)
93#include "pico/picoAnalogDevice.h"
94#endif
95
103
104#define asAnalogRef(x) (&(x))
105
106#endif //_ANALOG_DEVICE_ABSTRACTION_H_
AnalogDirection
Definition AnalogDeviceAbstraction.h:22
AnalogDevice * internalAnalogIo()
Provides the core IoAbstraction interface and Arduino implementation of that interface.
Definition AnalogDeviceAbstraction.h:31
virtual void setCurrentValue(pinid_t pin, unsigned int newValue)=0
virtual int getBitDepth(AnalogDirection direction, pinid_t pin)=0
virtual void initPin(pinid_t pin, AnalogDirection direction)=0
virtual void setCurrentFloat(pinid_t pin, float newValue)=0
virtual unsigned int getCurrentValue(pinid_t pin)=0
virtual int getMaximumRange(AnalogDirection direction, pinid_t pin)=0