1
OneWire_Functions.h
- Committer:
- ChesterLin
- Date:
- 2017-11-27
- Revision:
- 0:3e574710804f
File content as of revision 0:3e574710804f:
#ifndef OneWire_Functions #define OneWire_Functions #include "mbed.h" #include "EthernetInterface.h" #include "NTPClient.h" #include "SimpleSMTPClient.h" #define DOMAIN "DOMAIN.net" #define SERVER "smtp-mail.outlook.com" #define PORT "587" #define USER "hotmanson@outlook.com" #define PWD "chester1551" #define FROM_ADDRESS "hotmanson@outlook.com" #define TO_ADDRESS "hotmanson@outlook.com" #define SUBJECT "Cluster is Buring!" #define OneWireDevNu 5 #define OneWireTempReg OneWireDevNu*2 #define Ninebitresolution 0x1f #define Tenbitresolution 0x3f #define Elevenbitresolution 0x5f #define Twebitresolution 0x7f #define FALSE 0 #define TRUE 1 class OneWire { public: OneWire (PinName wire); //define 1-wire I/O pin //DS1822 Quick Commands //search the alarm on the bus. if ture, send email. int Read_alarm_Email(); //read all temp on the bus int Read_Temp_On_bus(); //set resolution or alarm temp to all device void Change_Res(); //all temperture data char alltemp[OneWireTempReg]; //set resolution and alarm trigger temperature char sca[3]; private: //static OneWire* uniqueInstance; DigitalInOut _pin; //One Wire Basic Communication Protocol //base functions int init(); void write_bit(uint8_t data); int read_bit(); //Advance Communication Protocol void write_byte(uint8_t data); int read_byte(); //DS1822 Function //char* init_Match_Read_Scratchpad(char addr[8]); char* init_Match_Get_Temp(char addr[8]); void init_Match_Write_Scratchpad(char addr[8], char Scratchpad[1]); //all device on the bus convert t int Skip_Convert_T(); //One Wire Search Algorithm // method declarations int OWFirst(); int OWNext(); int OWVerify(); void OWTargetSetup(unsigned char family_code); void OWFamilySkipSetup(); int OWSearch(); unsigned char docrc8(unsigned char value); int OWSearch_alarm(); //Search Result char ROM_NO[8]; int LastDiscrepancy; int LastFamilyDiscrepancy; int LastDeviceFlag; unsigned char crc8; //resulotion uint8_t reso; //For Email Client NTPClient ntp; SimpleSMTPClient smtp; //Unused Function //char* init_Read_ROM(); //char* init_Skip_Get_Temp(); //int init_Skip_Read_Scratchpad(); //void init_Skip_Write_Scratchpad(char Scratchpad[7]); //One Wire ROM function //int Read_ROM(); //void Match_ROM(char addr[8]); //void Skip_ROM(); //DS1822 Function //int Convert_T(); //int Read_Scratchpad(); //void Write_Scratchpad(char Scratchpad[7]); // definitions }; #endif