Alexander Steffen | 299bc62 | 2017-06-29 23:14:58 +0200 | [diff] [blame] | 1 | #ifndef MICROPY_INCLUDED_ESP8266_ETSHAL_H |
| 2 | #define MICROPY_INCLUDED_ESP8266_ETSHAL_H |
Damien George | 075d597 | 2014-11-27 20:30:33 +0000 | [diff] [blame] | 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 |
Damien George | 69661f3 | 2020-02-27 15:36:53 +1100 | [diff] [blame^] | 7 | #define WDEV_HWRNG ((volatile uint32_t *)0x3ff20e44) |
Damien George | 6ca17c1 | 2016-03-29 10:29:57 +0300 | [diff] [blame] | 8 | |
Paul Sokolovsky | e766a4a | 2017-11-05 00:27:21 +0200 | [diff] [blame] | 9 | void ets_delay_us(uint16_t us); |
Damien George | 0774483 | 2016-03-01 09:20:22 +0000 | [diff] [blame] | 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(); |
Paul Sokolovsky | e766a4a | 2017-11-05 00:27:21 +0200 | [diff] [blame] | 16 | void uart_div_modify(uint8_t uart, uint32_t divisor); |
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" |
Paul Sokolovsky | e766a4a | 2017-11-05 00:27:21 +0200 | [diff] [blame] | 36 | void *pvPortMalloc(size_t sz, const char *fname, unsigned line); |
| 37 | void *pvPortZalloc(size_t sz, const char *fname, unsigned line); |
| 38 | void *pvPortRealloc(void *p, unsigned sz, const char *fname, unsigned line); |
| 39 | void vPortFree(void *p, const char *fname, unsigned line); |
Paul Sokolovsky | 76c81cd | 2016-05-03 00:35:11 +0300 | [diff] [blame] | 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 | |
Alexander Steffen | 299bc62 | 2017-06-29 23:14:58 +0200 | [diff] [blame] | 45 | #endif // MICROPY_INCLUDED_ESP8266_ETSHAL_H |