Se requiere procesar el texto. No rechazaré ayuda :)
Biblioteca de control de voltaje Arduino.
La clase es plantilla y usa 1 parámetro: uint8_t _id = 0 . El primer parámetro no compulsivo transmite transparentemente uint8_t a los matraces causados, lo que le permite identificar la clase cuando usa varias copias de la clase por un matraz. Por ejemplo, la lectura de pin ADC:
VoltageControl < A1 > Volt1 ;
VoltageControl < A2 > Volt2 ;
//...
Volt1 . SetRequest ( OnRequestVoltage );
Volt2 . SetRequest ( OnRequestVoltage );
//...
int32_t OnRequestVoltage ( uint8_t id )
{
return analogRead ( id );
}Por conveniencia, la clase tiene dos diseñadores.
` VoltageControl ()` Diseñador de clase sin parámetros. Cuando se usa, se requiere transmitir la configuración a través de métodos Set .
VoltageControl ( request_t callback_req , uint16_t interval_req , response_t callback_res , bool once , uint32_t coefficient , int32_t vmin , int32_t vmax )Diseñador de clase que indica todas las configuraciones.
SetResponse() , el coeficiente de traducción del valor ACP, el voltaje mínimo mínimo permitido, el voltaje máximo permisible máximo. int32_t OnRequestVoltage ( uint8_t id ) Cuando la clase es necesaria para leer el valor del ADC, esta función de matraz será causada. Puede realizar o el método integrado de lectura ADC ( analogRead() ), trabajar directamente con registros o leer un ADC externo para cualquier neumático disponible.
void OnResponseVoltage ( uint8_t id , int32_t value , int8_t state )Cuando necesite notificar al programa principal sobre los cambios, esta función de tanque será un intercambio. Puede decidir sobre la ramificación del código y cumplir con todo lo que necesita aquí.
GetValid() . void SetRequest ( request_t callback , uint16_t interval )El método indica una función de tanque de lectura ADC.
void SetResponse ( response_t callback , bool once = false) El método indica una medición de voltaje del resultado de medición de voltaje. Si once = true , entonces se producirá una llamada de una tasa de funciones FLAB solo cuando se cambie la condición (reducida, aumentada, voltaje normal), de lo contrario, el desafío ocurrirá en cada medición del ADC.
void SetCoefficient ( uint32_t coefficient )El método determina el coeficiente de traducción del valor ACP a las microondas.
void SetMin ( uint32_t vmin )El método determina el voltaje mínimo permitido.
void SetMax ( uint32_t vmax )El método determina el voltaje máximo permitido.
void SetStart ()El método establece el indicador de inicio de la clase.
void SetStop ()El método establece el indicador de parada de clase.
int8_t GetValid ()El método verifica el voltaje y devuelve el resultado en el formulario de un número.
-1 es menos que permitido, 0 - en el marco de permitido, 1 - más permitido. int32_t GetVoltage ()El método devuelve el voltaje de corriente.
void Processing ( uint32_t currentTime = millis ()) Método de procesamiento de números. En el caso de que su loop tenga una definición de la hora actual, es más aconsejable pasar este tiempo como parámetro.
static inline uint32_t GetCoefficient ( float vref , float r1 = 0 , float r2 = 1 , float quantization = 1024 ) La utilidad que ayuda a calcular el coeficiente para SetCoefficient() . Si no se usa el divisor, solo se indica VREF.