#include <stdio.h>
#include <stdint.h>
// Array to map bits to flag meanings
const char* flag_names[8] = {
"Power On", // Bit 0
"Error", // Bit 1
"Tx Ready", // Bit 2
"Rx Ready", // Bit 3
"Overheat", // Bit 4
"Undervoltage", // Bit 5
"Timeout", // Bit 6
"Reserved" // Bit 7
};
void decode_status(uint8_t status_reg) {
for(uint8_t i = 0 ;i<8;i++)
{
//check for set bits and print according to
if(status_reg & (1<<i))
{
printf("%s\n",flag_names[i]);
}
}
}
int main() {
uint8_t reg;
scanf("%hhu", ®);
decode_status(reg);
return 0;
}