bc13ffacc3
Conflicts: roverif/pwmin.cc
33 lines
509 B
C++
33 lines
509 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
class PWMIn {
|
|
public:
|
|
PWMIn();
|
|
|
|
static const int8_t Invalid = -128;
|
|
|
|
void init();
|
|
void expire();
|
|
|
|
int8_t get(uint8_t channel) const;
|
|
|
|
void pcint();
|
|
|
|
private:
|
|
struct Input {
|
|
volatile int8_t width;
|
|
uint8_t rose_at;
|
|
uint8_t good;
|
|
uint8_t pin;
|
|
};
|
|
|
|
static const int NumChannels = 6;
|
|
static const int Saturate = 10;
|
|
static const int Center = 158;
|
|
|
|
uint8_t level_;
|
|
Input inputs_[NumChannels];
|
|
};
|