##// END OF EJS Templates

File last commit:

r193:194
r193:194
Show More
powerEngined.h
53 lines | 1.5 KiB | text/x-c | CLexer
/*
* powerEngined.h
*
* Created on: Jan 26, 2015
* Author: aras
*/
#ifndef POWERENGINED_POWERENGINED_H_
#define POWERENGINED_POWERENGINED_H_
#include <inttypes.h>
/* primitivas 1-wire transaction ds2438 . toda data/comandos es leida y escrita
* primero el bit menos significativo */
inline void write_0_signal();//pull-low, wait 15us, remain low 45us (min), release (high),wait 1us
inline void write_1_signal();//pull-low, wait 10us, release (high) 50us (min), remain high,wait 1us
inline void write_byte(uint8_t byte);
void write_bytes(uint8_t* pbytes,uint8_t len);
inline uint8_t read_signal();//pull-low, wait 1us, release, pin I , wait 9us, read line,
//wait 50us(min), pin O, wait 1us
inline uint8_t read_byte();
void read_bytes(uint8_t* pbytes, uint8_t len);
// 1 reset pulse trasmition (maestro)
// low signal for a minimum of 480us. luego del flanco de subida,
// espera de 15-60us y recibe el pulso de presencia del ds2438
// (low 60-240us)
// 2 presence pulse (respuesta del esclavo)
void initialization();
// 5 CONVERT_T (0x44) inicia conversion A/D de temperatura
// 6 CONVERT_V (0xB4) inicia conversion A/D de voltaje
void convert(uint8_t cmd);
void memory_read(uint8_t* pbyte, uint8_t page_addr);
void ISR_int0(); //usado para cronometrar la lectura del presence pulse
void ISR_low_level();//detecta el nivel bajo. usado para detectar el presence pulse
void ISR_twi();// usado para enviar datos
void ISR_int1();//usado para cronometrar la lectura de datos
#endif /* POWERENGINED_POWERENGINED_H_ */