You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
653 B
22 lines
653 B
#pragma once
|
|
|
|
//
|
|
// Custom loops
|
|
//
|
|
|
|
// Repeat code n times (uint8_t counter)
|
|
#define repeat(count) repeat_aux(count, _repeat_##__COUNTER__)
|
|
#define repeat_aux(count, cntvar) for (uint8_t cntvar = 0; cntvar < (count); cntvar++)
|
|
|
|
// Repeat code n times (uint16_t counter)
|
|
#define repeatx(count) repeatx_aux(count, _repeatx_##__COUNTER__)
|
|
#define repeatx_aux(count, cntvar) for (uint16_t cntvar = 0; cntvar < (count); cntvar++)
|
|
|
|
// Repeat with custom counter name (uint8_t)
|
|
#define loop(var, count) repeat_aux(count, var)
|
|
// ..., uint16_t
|
|
#define loopx(var, count) repeatx_aux(count, var)
|
|
|
|
// Do until condition is met
|
|
#define until(what) while(!(what))
|
|
|
|
|