Merge branch 'master' into docs/wemos_boards
This commit is contained in:
		
						commit
						44dd99f5a5
					
				| @ -66,6 +66,8 @@ extern "C" | |||||||
| #define ARDUHAL_LOG_COLOR_I       ARDUHAL_LOG_COLOR(ARDUHAL_LOG_COLOR_GREEN) | #define ARDUHAL_LOG_COLOR_I       ARDUHAL_LOG_COLOR(ARDUHAL_LOG_COLOR_GREEN) | ||||||
| #define ARDUHAL_LOG_COLOR_D       ARDUHAL_LOG_COLOR(ARDUHAL_LOG_COLOR_CYAN) | #define ARDUHAL_LOG_COLOR_D       ARDUHAL_LOG_COLOR(ARDUHAL_LOG_COLOR_CYAN) | ||||||
| #define ARDUHAL_LOG_COLOR_V       ARDUHAL_LOG_COLOR(ARDUHAL_LOG_COLOR_GRAY) | #define ARDUHAL_LOG_COLOR_V       ARDUHAL_LOG_COLOR(ARDUHAL_LOG_COLOR_GRAY) | ||||||
|  | #define ARDUHAL_LOG_COLOR_PRINT(letter) log_printf(ARDUHAL_LOG_COLOR_ ## letter) | ||||||
|  | #define ARDUHAL_LOG_COLOR_PRINT_END log_printf(ARDUHAL_LOG_RESET_COLOR) | ||||||
| #else | #else | ||||||
| #define ARDUHAL_LOG_COLOR_E | #define ARDUHAL_LOG_COLOR_E | ||||||
| #define ARDUHAL_LOG_COLOR_W | #define ARDUHAL_LOG_COLOR_W | ||||||
| @ -73,12 +75,15 @@ extern "C" | |||||||
| #define ARDUHAL_LOG_COLOR_D | #define ARDUHAL_LOG_COLOR_D | ||||||
| #define ARDUHAL_LOG_COLOR_V | #define ARDUHAL_LOG_COLOR_V | ||||||
| #define ARDUHAL_LOG_RESET_COLOR | #define ARDUHAL_LOG_RESET_COLOR | ||||||
|  | #define ARDUHAL_LOG_COLOR_PRINT(letter) | ||||||
|  | #define ARDUHAL_LOG_COLOR_PRINT_END | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| const char * pathToFileName(const char * path); | const char * pathToFileName(const char * path); | ||||||
| int log_printf(const char *fmt, ...); | int log_printf(const char *fmt, ...); | ||||||
|  | void log_print_buf(const uint8_t *b, size_t len); | ||||||
| 
 | 
 | ||||||
| #define ARDUHAL_SHORT_LOG_FORMAT(letter, format)  ARDUHAL_LOG_COLOR_ ## letter format ARDUHAL_LOG_RESET_COLOR "\r\n" | #define ARDUHAL_SHORT_LOG_FORMAT(letter, format)  ARDUHAL_LOG_COLOR_ ## letter format ARDUHAL_LOG_RESET_COLOR "\r\n" | ||||||
| #define ARDUHAL_LOG_FORMAT(letter, format)  ARDUHAL_LOG_COLOR_ ## letter "[%6u][" #letter "][%s:%u] %s(): " format ARDUHAL_LOG_RESET_COLOR "\r\n", (unsigned long) (esp_timer_get_time() / 1000ULL), pathToFileName(__FILE__), __LINE__, __FUNCTION__ | #define ARDUHAL_LOG_FORMAT(letter, format)  ARDUHAL_LOG_COLOR_ ## letter "[%6u][" #letter "][%s:%u] %s(): " format ARDUHAL_LOG_RESET_COLOR "\r\n", (unsigned long) (esp_timer_get_time() / 1000ULL), pathToFileName(__FILE__), __LINE__, __FUNCTION__ | ||||||
| @ -87,78 +92,96 @@ int log_printf(const char *fmt, ...); | |||||||
| #ifndef USE_ESP_IDF_LOG | #ifndef USE_ESP_IDF_LOG | ||||||
| #define log_v(format, ...) log_printf(ARDUHAL_LOG_FORMAT(V, format), ##__VA_ARGS__) | #define log_v(format, ...) log_printf(ARDUHAL_LOG_FORMAT(V, format), ##__VA_ARGS__) | ||||||
| #define isr_log_v(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(V, format), ##__VA_ARGS__) | #define isr_log_v(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(V, format), ##__VA_ARGS__) | ||||||
|  | #define log_buf_v(b,l) do{ARDUHAL_LOG_COLOR_PRINT(V);log_print_buf(b,l);ARDUHAL_LOG_COLOR_PRINT_END;}while(0) | ||||||
| #else | #else | ||||||
| #define log_v(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_VERBOSE, TAG, format, ##__VA_ARGS__);}while(0) | #define log_v(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_VERBOSE, TAG, format, ##__VA_ARGS__);}while(0) | ||||||
| #define isr_log_v(format, ...) do {ets_printf(LOG_FORMAT(V, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | #define isr_log_v(format, ...) do {ets_printf(LOG_FORMAT(V, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | ||||||
|  | #define log_buf_v(b,l) do {ESP_LOG_BUFFER_HEXDUMP(TAG, b, l, ESP_LOG_VERBOSE);}while(0) | ||||||
| #endif | #endif | ||||||
| #else | #else | ||||||
| #define log_v(format, ...) | #define log_v(format, ...) | ||||||
| #define isr_log_v(format, ...) | #define isr_log_v(format, ...) | ||||||
|  | #define log_buf_v(b,l) | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG | #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG | ||||||
| #ifndef USE_ESP_IDF_LOG | #ifndef USE_ESP_IDF_LOG | ||||||
| #define log_d(format, ...) log_printf(ARDUHAL_LOG_FORMAT(D, format), ##__VA_ARGS__) | #define log_d(format, ...) log_printf(ARDUHAL_LOG_FORMAT(D, format), ##__VA_ARGS__) | ||||||
| #define isr_log_d(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(D, format), ##__VA_ARGS__) | #define isr_log_d(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(D, format), ##__VA_ARGS__) | ||||||
|  | #define log_buf_d(b,l) do{ARDUHAL_LOG_COLOR_PRINT(D);log_print_buf(b,l);ARDUHAL_LOG_COLOR_PRINT_END;}while(0) | ||||||
| #else | #else | ||||||
| #define log_d(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_DEBUG, TAG, format, ##__VA_ARGS__);}while(0) | #define log_d(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_DEBUG, TAG, format, ##__VA_ARGS__);}while(0) | ||||||
| #define isr_log_d(format, ...) do {ets_printf(LOG_FORMAT(D, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | #define isr_log_d(format, ...) do {ets_printf(LOG_FORMAT(D, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | ||||||
|  | #define log_buf_d(b,l) do {ESP_LOG_BUFFER_HEXDUMP(TAG, b, l, ESP_LOG_DEBUG);}while(0) | ||||||
| #endif | #endif | ||||||
| #else | #else | ||||||
| #define log_d(format, ...) | #define log_d(format, ...) | ||||||
| #define isr_log_d(format, ...) | #define isr_log_d(format, ...) | ||||||
|  | #define log_buf_d(b,l) | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO | #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_INFO | ||||||
| #ifndef USE_ESP_IDF_LOG | #ifndef USE_ESP_IDF_LOG | ||||||
| #define log_i(format, ...) log_printf(ARDUHAL_LOG_FORMAT(I, format), ##__VA_ARGS__) | #define log_i(format, ...) log_printf(ARDUHAL_LOG_FORMAT(I, format), ##__VA_ARGS__) | ||||||
| #define isr_log_i(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(I, format), ##__VA_ARGS__) | #define isr_log_i(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(I, format), ##__VA_ARGS__) | ||||||
|  | #define log_buf_i(b,l) do{ARDUHAL_LOG_COLOR_PRINT(I);log_print_buf(b,l);ARDUHAL_LOG_COLOR_PRINT_END;}while(0) | ||||||
| #else | #else | ||||||
| #define log_i(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, TAG, format, ##__VA_ARGS__);}while(0) | #define log_i(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_INFO, TAG, format, ##__VA_ARGS__);}while(0) | ||||||
| #define isr_log_i(format, ...) do {ets_printf(LOG_FORMAT(I, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | #define isr_log_i(format, ...) do {ets_printf(LOG_FORMAT(I, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | ||||||
|  | #define log_buf_i(b,l) do {ESP_LOG_BUFFER_HEXDUMP(TAG, b, l, ESP_LOG_INFO);}while(0) | ||||||
| #endif | #endif | ||||||
| #else | #else | ||||||
| #define log_i(format, ...) | #define log_i(format, ...) | ||||||
| #define isr_log_i(format, ...) | #define isr_log_i(format, ...) | ||||||
|  | #define log_buf_i(b,l) | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_WARN | #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_WARN | ||||||
| #ifndef USE_ESP_IDF_LOG | #ifndef USE_ESP_IDF_LOG | ||||||
| #define log_w(format, ...) log_printf(ARDUHAL_LOG_FORMAT(W, format), ##__VA_ARGS__) | #define log_w(format, ...) log_printf(ARDUHAL_LOG_FORMAT(W, format), ##__VA_ARGS__) | ||||||
| #define isr_log_w(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(W, format), ##__VA_ARGS__) | #define isr_log_w(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(W, format), ##__VA_ARGS__) | ||||||
|  | #define log_buf_w(b,l) do{ARDUHAL_LOG_COLOR_PRINT(W);log_print_buf(b,l);ARDUHAL_LOG_COLOR_PRINT_END;}while(0) | ||||||
| #else | #else | ||||||
| #define log_w(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_WARN, TAG, format, ##__VA_ARGS__);}while(0) | #define log_w(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_WARN, TAG, format, ##__VA_ARGS__);}while(0) | ||||||
| #define isr_log_w(format, ...) do {ets_printf(LOG_FORMAT(W, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | #define isr_log_w(format, ...) do {ets_printf(LOG_FORMAT(W, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | ||||||
|  | #define log_buf_w(b,l) do {ESP_LOG_BUFFER_HEXDUMP(TAG, b, l, ESP_LOG_WARN);}while(0) | ||||||
| #endif | #endif | ||||||
| #else | #else | ||||||
| #define log_w(format, ...) | #define log_w(format, ...) | ||||||
| #define isr_log_w(format, ...) | #define isr_log_w(format, ...) | ||||||
|  | #define log_buf_w(b,l) | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_ERROR | #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_ERROR | ||||||
| #ifndef USE_ESP_IDF_LOG | #ifndef USE_ESP_IDF_LOG | ||||||
| #define log_e(format, ...) log_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) | #define log_e(format, ...) log_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) | ||||||
| #define isr_log_e(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) | #define isr_log_e(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) | ||||||
|  | #define log_buf_e(b,l) do{ARDUHAL_LOG_COLOR_PRINT(E);log_print_buf(b,l);ARDUHAL_LOG_COLOR_PRINT_END;}while(0) | ||||||
| #else | #else | ||||||
| #define log_e(format, ...) do {log_to_esp(TAG, ESP_LOG_ERROR, format, ##__VA_ARGS__);}while(0) | #define log_e(format, ...) do {log_to_esp(TAG, ESP_LOG_ERROR, format, ##__VA_ARGS__);}while(0) | ||||||
| #define isr_log_e(format, ...) do {ets_printf(LOG_FORMAT(E, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | #define isr_log_e(format, ...) do {ets_printf(LOG_FORMAT(E, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | ||||||
|  | #define log_buf_e(b,l) do {ESP_LOG_BUFFER_HEXDUMP(TAG, b, l, ESP_LOG_ERROR);}while(0) | ||||||
| #endif | #endif | ||||||
| #else | #else | ||||||
| #define log_e(format, ...) | #define log_e(format, ...) | ||||||
| #define isr_log_e(format, ...) | #define isr_log_e(format, ...) | ||||||
|  | #define log_buf_e(b,l) | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_NONE | #if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_NONE | ||||||
| #ifndef USE_ESP_IDF_LOG | #ifndef USE_ESP_IDF_LOG | ||||||
| #define log_n(format, ...) log_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) | #define log_n(format, ...) log_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) | ||||||
| #define isr_log_n(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) | #define isr_log_n(format, ...) ets_printf(ARDUHAL_LOG_FORMAT(E, format), ##__VA_ARGS__) | ||||||
|  | #define log_buf_n(b,l) do{ARDUHAL_LOG_COLOR_PRINT(E);log_print_buf(b,l);ARDUHAL_LOG_COLOR_PRINT_END;}while(0) | ||||||
| #else | #else | ||||||
| #define log_n(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_ERROR, TAG, format, ##__VA_ARGS__);}while(0) | #define log_n(format, ...) do {ESP_LOG_LEVEL_LOCAL(ESP_LOG_ERROR, TAG, format, ##__VA_ARGS__);}while(0) | ||||||
| #define isr_log_n(format, ...) do {ets_printf(LOG_FORMAT(E, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | #define isr_log_n(format, ...) do {ets_printf(LOG_FORMAT(E, format), esp_log_timestamp(), TAG, ##__VA_ARGS__);}while(0) | ||||||
|  | #define log_buf_n(b,l) do {ESP_LOG_BUFFER_HEXDUMP(TAG, b, l, ESP_LOG_ERROR);}while(0) | ||||||
| #endif | #endif | ||||||
| #else | #else | ||||||
| #define log_n(format, ...) | #define log_n(format, ...) | ||||||
| #define isr_log_n(format, ...) | #define isr_log_n(format, ...) | ||||||
|  | #define log_buf_n(b,l) | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #include "esp_log.h" | #include "esp_log.h" | ||||||
|  | |||||||
| @ -669,6 +669,36 @@ int log_printf(const char *format, ...) | |||||||
|     return len; |     return len; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | static void log_print_buf_line(const uint8_t *b, size_t len, size_t total_len){ | ||||||
|  |     for(size_t i = 0; i<len; i++){ | ||||||
|  |         log_printf("%s0x%02x,",i?" ":"", b[i]); | ||||||
|  |     } | ||||||
|  |     if(total_len > 16){ | ||||||
|  |         for(size_t i = len; i<16; i++){ | ||||||
|  |             log_printf("      "); | ||||||
|  |         } | ||||||
|  |         log_printf("    // "); | ||||||
|  |     } else { | ||||||
|  |         log_printf(" // "); | ||||||
|  |     } | ||||||
|  |     for(size_t i = 0; i<len; i++){ | ||||||
|  |         log_printf("%c",((b[i] >= 0x20) && (b[i] < 0x80))?b[i]:'.'); | ||||||
|  |     } | ||||||
|  |     log_printf("\n"); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void log_print_buf(const uint8_t *b, size_t len){ | ||||||
|  |     if(!len || !b){ | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  |     for(size_t i = 0; i<len; i+=16){ | ||||||
|  |         if(len > 16){ | ||||||
|  |             log_printf("/* 0x%04X */ ", i); | ||||||
|  |         } | ||||||
|  |         log_print_buf_line(b+i, ((len-i)<16)?(len - i):16, len); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| /*
 | /*
 | ||||||
|  * if enough pulses are detected return the minimum high pulse duration + minimum low pulse duration divided by two.  |  * if enough pulses are detected return the minimum high pulse duration + minimum low pulse duration divided by two.  | ||||||
|  * This equals one bit period. If flag is true the function return inmediately, otherwise it waits for enough pulses. |  * This equals one bit period. If flag is true the function return inmediately, otherwise it waits for enough pulses. | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user