#include <stdio.h>
#include <stdint.h>
#include <stdbool.h>
uint8_t channel_mask[] = {0xFF, 0x01, 0x00, 0x00, 0xC0};
void reverse_bytes(uint8_t* arr, int len) {
for (int i = 0; i < len / 2; ++i) {
uint8_t tmp = arr[i];
arr[i] = arr[len - 1 - i];
arr[len - 1 - i] = tmp;
}
}
int main() {
for(uint8_t i = 0; i< 3; i++)
{
printf("%02x ", channel_mask[i]);
}
bool channel_enabled[sizeof(channel_mask) * 8];
uint16_t total_channels = sizeof(channel_mask) * 8;
printf("totoal %u\r\n", total_channels);
for (int i = 0; i < total_channels; ++i) {
int byte_index = i / 8;
int bit_index = i % 8;
bool is_disabled = (channel_mask[byte_index] >> bit_index) & 0x01;
channel_enabled[i] = !is_disabled;
}
printf("Channel\tStatus\n");
for (int i = 0; i < total_channels; ++i) {
printf("%2d\t%s\n", i, channel_enabled[i] ? "ENABLED" : "DISABLED");
}
return 0;
}