24 static char LogBuff[LOG_LEVELS][LOG_BUFFER_SIZE] LOG_BUFFER_ATTRS; |
24 static char LogBuff[LOG_LEVELS][LOG_BUFFER_SIZE] LOG_BUFFER_ATTRS; |
25 void inline copy_to_log(uint8_t level, uint32_t buffpos, void* buf, uint32_t size){ |
25 void inline copy_to_log(uint8_t level, uint32_t buffpos, void* buf, uint32_t size){ |
26 if(buffpos + size < LOG_BUFFER_SIZE){ |
26 if(buffpos + size < LOG_BUFFER_SIZE){ |
27 memcpy(&LogBuff[level][buffpos], buf, size); |
27 memcpy(&LogBuff[level][buffpos], buf, size); |
28 }else{ |
28 }else{ |
29 uint32_t remaining = LOG_BUFFER_SIZE - buffpos - 1; |
29 uint32_t remaining = LOG_BUFFER_SIZE - buffpos; |
30 memcpy(&LogBuff[level][buffpos], buf, remaining); |
30 memcpy(&LogBuff[level][buffpos], buf, remaining); |
31 memcpy(LogBuff[level], (char*)buf + remaining, size - remaining); |
31 memcpy(LogBuff[level], (char*)buf + remaining, size - remaining); |
32 } |
32 } |
33 } |
33 } |
34 void inline copy_from_log(uint8_t level, uint32_t buffpos, void* buf, uint32_t size){ |
34 void inline copy_from_log(uint8_t level, uint32_t buffpos, void* buf, uint32_t size){ |