mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2024-11-23 08:06:13 +01:00
explain in comment
This commit is contained in:
parent
c36234df73
commit
208905e7b9
25
DCCTimer.h
25
DCCTimer.h
|
@ -93,19 +93,36 @@ private:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Class ADCee implements caching of the ADC value for platforms which
|
||||||
|
// have a too slow ADC read to wait for. On these platforms the ADC is
|
||||||
|
// scanned continiously in the background from an ISR. On such
|
||||||
|
// architectures that use the analog read during DCC waveform with
|
||||||
|
// specially configured ADC, for example AVR, init must be called
|
||||||
|
// PRIOR to the start of the waveform. It returns the current value so
|
||||||
|
// that an offset can be initialized.
|
||||||
class ADCee {
|
class ADCee {
|
||||||
public:
|
public:
|
||||||
// On architectures that use the analog read during DCC waveform
|
// init does add the pin to the list of scanned pins (if this
|
||||||
// with specially configured ADC, for example AVR, init must be
|
// platform's implementation scans pins) and returns the first
|
||||||
// called PRIOR to the start of the waveform. It returns the
|
// read value. It is called before the regular scan is started.
|
||||||
// current value so that an offset can be initialized.
|
|
||||||
static int init(uint8_t pin);
|
static int init(uint8_t pin);
|
||||||
|
// read does read the pin value from the scanned cache or directly
|
||||||
|
// if this is a platform that does not scan. fromISR is a hint if
|
||||||
|
// it was called from ISR because for some implementations that
|
||||||
|
// makes a difference.
|
||||||
static int read(uint8_t pin, bool fromISR=false);
|
static int read(uint8_t pin, bool fromISR=false);
|
||||||
private:
|
private:
|
||||||
|
// On platforms that scan, it is called from waveform ISR
|
||||||
|
// only on a regular basis.
|
||||||
static void scan();
|
static void scan();
|
||||||
|
// begin is called for any setup that must be done before
|
||||||
|
// scan can be called.
|
||||||
static void begin();
|
static void begin();
|
||||||
|
// bit array of used pins (max 16)
|
||||||
static uint16_t usedpins;
|
static uint16_t usedpins;
|
||||||
|
// cached analog values (malloc:ed to actual number of ADC channels)
|
||||||
static int *analogvals;
|
static int *analogvals;
|
||||||
|
// friend so that we can call scan() and begin()
|
||||||
friend class DCCWaveform;
|
friend class DCCWaveform;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user