2020
2121#ifndef  ESP_H
2222#define  ESP_H 
23+ /* *
24+  * AVR macros for WDT managment 
25+  */  
26+ typedef  enum  {
27+     WDTO_0MS    = 0 ,   // !< WDTO_0MS
28+     WDTO_15MS   = 15 ,  // !< WDTO_15MS
29+     WDTO_30MS   = 30 ,  // !< WDTO_30MS
30+     WDTO_60MS   = 60 ,  // !< WDTO_60MS
31+     WDTO_120MS  = 120 , // !< WDTO_120MS
32+     WDTO_250MS  = 250 , // !< WDTO_250MS
33+     WDTO_500MS  = 500 , // !< WDTO_500MS
34+     WDTO_1S     = 1000 ,// !< WDTO_1S
35+     WDTO_2S     = 2000 ,// !< WDTO_2S
36+     WDTO_4S     = 4000 ,// !< WDTO_4S
37+     WDTO_8S     = 8000  // !< WDTO_8S
38+ } WDTO_t;
39+ 
2340
41+ #define  wdt_enable (time )    ESP.wdtEnable(time)
42+ #define  wdt_disable ()       ESP.wdtDisable()
43+ #define  wdt_reset ()         ESP.wdtFeed()
2444
2545enum  WakeMode {
2646    WAKE_RF_DEFAULT = 0 , //  RF_CAL or not after deep-sleep wake up, depends on init data byte 108.
@@ -33,8 +53,10 @@ class EspClass {
3353    public: 
3454        EspClass ();
3555
36-         void  wdtEnable (int  timeout_ms = 0 );  
3756        //  TODO: figure out how to set WDT timeout
57+         void  wdtEnable (uint32_t  timeout_ms = 0 );
58+         void  wdtEnable (WDTO_t timeout_ms = WDTO_0MS);
59+ 
3860        void  wdtDisable (void );
3961        void  wdtFeed (void );
4062
@@ -44,6 +66,17 @@ class EspClass {
4466        void  reset (void );
4567        void  restart (void );
4668        uint16_t  getVCC (void );
69+         uint32_t  getFreeHeap (void );
70+ 
71+         uint32_t  getChipId (void );
72+ 
73+         const  char  * getSDKversion (void );
74+ 
75+         uint8_t  getBootVersion (void );
76+         uint8_t  getBootMode (void );
77+ 
78+         uint8_t  getCPUfreqMHz (void );
79+ 
4780};
4881
4982extern  EspClass ESP;
0 commit comments