#include <stdio.h>
#include <stdint.h>
void build_packet(uint8_t command, uint16_t value, uint8_t status, uint32_t checksum) {
uint8_t buffer[10];
buffer[0] = (uint8_t)0xA5;
buffer[1] = (uint8_t)command;
//Processing the value bytes (2 bytes) into the buffer:
int tmp1 = (uint8_t) (value & 0xFF);
int tmp2 = (uint8_t) (value >> 8);
buffer[2] = tmp1;
buffer[3] = tmp2;
buffer[4] = status;
// Porcessing the value bytes for the Checksum CRC (4 bytes):
int tmp3 = (uint8_t) (checksum & 0xFF);
int tmp4 = (uint8_t) (checksum >> 8);
int tmp5 = (uint8_t) (checksum >> 16);
int tmp6 = (uint8_t) (checksum >> 24);
buffer[5] = tmp3;
buffer[6] = tmp4;
buffer[7] = tmp5;
buffer[8] = tmp6;
// End Byte
buffer[9] = (uint8_t)(0x5A);
for (int i=0;i<=9;i++){
printf("%d ", buffer[i]);
}
// Your logic to fill buffer
// Then print buffer
}
int main() {
uint8_t cmd, status;
uint16_t val;
uint32_t crc;
scanf("%hhu %hu %hhu %u", &cmd, &val, &status, &crc);
build_packet(cmd, val, status, crc);
return 0;
}