Damien George | 075d597 | 2014-11-27 20:30:33 +0000 | [diff] [blame] | 1 | #ifndef _INCLUDED_ETSHAL_H_ |
| 2 | #define _INCLUDED_ETSHAL_H_ |
| 3 | |
Paul Sokolovsky | f22a4f8 | 2016-03-04 19:39:24 +0200 | [diff] [blame] | 4 | #include <os_type.h> |
| 5 | |
Damien George | 6ca17c1 | 2016-03-29 10:29:57 +0300 | [diff] [blame] | 6 | // see http://esp8266-re.foogod.com/wiki/Random_Number_Generator |
| 7 | #define WDEV_HWRNG ((volatile uint32_t*)0x3ff20e44) |
| 8 | |
Damien George | 0774483 | 2016-03-01 09:20:22 +0000 | [diff] [blame] | 9 | void ets_delay_us(); |
| 10 | void ets_intr_lock(void); |
| 11 | void ets_intr_unlock(void); |
| 12 | void ets_isr_mask(uint32_t mask); |
| 13 | void ets_isr_unmask(uint32_t mask); |
| 14 | void ets_isr_attach(int irq_no, void (*handler)(void *), void *arg); |
Damien George | 075d597 | 2014-11-27 20:30:33 +0000 | [diff] [blame] | 15 | void ets_install_putc1(); |
Damien George | 075d597 | 2014-11-27 20:30:33 +0000 | [diff] [blame] | 16 | void uart_div_modify(); |
Damien George | 0774483 | 2016-03-01 09:20:22 +0000 | [diff] [blame] | 17 | void ets_set_idle_cb(void (*handler)(void *), void *arg); |
Damien George | 075d597 | 2014-11-27 20:30:33 +0000 | [diff] [blame] | 18 | |
Paul Sokolovsky | f22a4f8 | 2016-03-04 19:39:24 +0200 | [diff] [blame] | 19 | void ets_timer_arm_new(os_timer_t *tim, uint32_t millis, bool repeat, bool is_milli_timer); |
| 20 | void ets_timer_setfn(os_timer_t *tim, ETSTimerFunc callback, void *cb_data); |
| 21 | void ets_timer_disarm(os_timer_t *tim); |
| 22 | |
Paul Sokolovsky | 015774a | 2016-09-03 20:45:11 +0300 | [diff] [blame] | 23 | extern void ets_wdt_disable(void); |
| 24 | extern void wdt_feed(void); |
| 25 | |
Paul Sokolovsky | e33d238 | 2016-08-04 00:29:19 +0300 | [diff] [blame] | 26 | // Opaque structure |
Paul Sokolovsky | 5fae914 | 2016-11-02 01:47:03 +0300 | [diff] [blame^] | 27 | #ifndef MD5_CTX |
| 28 | typedef char MD5_CTX[88]; |
| 29 | #endif |
Paul Sokolovsky | e33d238 | 2016-08-04 00:29:19 +0300 | [diff] [blame] | 30 | |
| 31 | void MD5Init(MD5_CTX *context); |
| 32 | void MD5Update(MD5_CTX *context, const void *data, unsigned int len); |
| 33 | void MD5Final(unsigned char digest[16], MD5_CTX *context); |
| 34 | |
Paul Sokolovsky | 76c81cd | 2016-05-03 00:35:11 +0300 | [diff] [blame] | 35 | // These prototypes are for recent SDKs with "malloc tracking" |
| 36 | void *pvPortMalloc(unsigned sz, const char *fname, int line); |
Paul Sokolovsky | b6c22c4 | 2016-10-23 16:43:07 +0300 | [diff] [blame] | 37 | void *pvPortZalloc(unsigned sz, const char *fname, int line); |
| 38 | void *pvPortRealloc(void *p, unsigned sz, const char *fname, int line); |
Paul Sokolovsky | 76c81cd | 2016-05-03 00:35:11 +0300 | [diff] [blame] | 39 | void vPortFree(void *p, const char *fname, int line); |
| 40 | |
Paul Sokolovsky | 2ec70dc | 2016-11-02 01:41:51 +0300 | [diff] [blame] | 41 | uint32_t SPIRead(uint32_t offset, void *buf, uint32_t len); |
| 42 | uint32_t SPIWrite(uint32_t offset, const void *buf, uint32_t len); |
| 43 | uint32_t SPIEraseSector(int sector); |
| 44 | |
Damien George | 075d597 | 2014-11-27 20:30:33 +0000 | [diff] [blame] | 45 | #endif // _INCLUDED_ETSHAL_H_ |