In the serial.c code ``` uint16_t serial_rx_word() { return (serial_rx_byte() << 8) + serial_rx_byte(); } ``` the order of the calls to ```serial_rx_byte``` is undefined (up to the C compiler). Similarly for serial_rx_long. So the endianness is not well-defined.