#include "utils.h" // this just burns cycles. // the volatile is important, it means that the cpu can't optimize any // read/writes for the value static inline void spin_loop(volatile uint16_t counts) { while (counts) counts--; } void delay_ms(uint16_t ms) { while (ms) { // this value was taken using a delay of 500ms, and just recording the led // blinking. it seems to be high enough such that each loop of delay_loop // takes 1ms :D spin_loop((F_CPU) / 5000); ms--; } } void ft_bzero(void* data, uint16_t size) { char* d = data; while (size) { *d = 0; d++; size--; } }