message: chase serialIO removal
diff: -#ifdef TEST_MODE
  -#include "serialIO-mock.h"
  -#else
  -#include "serialIO.h"
  -#include <Arduino.h>
  -#endif
  -
  #include "comms.h"
  +#include "hal.h"
  #include "network_protocol.pb.h"
  #include "serdes.h"
  @@ -21,7 +15,7 @@ static bool rx_in_progress = false;
  static constexpr uint16_t RX_TIMEOUT_MS = 1;
  -void comms_init() { serialIO_init(); }
  +void comms_init() {}
  static bool is_time_to_process_packet() {
  return millis() - last_rx > RX_TIMEOUT_MS;
  @@ -56,17 +50,21 @@ void comms_sendControllerStatus(ControllerStatus controller_status) {
  void process_tx() {
  if (output_buffer_ready) {
  for (size_t i = 0; i < tx_data_length; i++) {
  - serialIO_send(tx_buffer[i]);
  + uint16_t written = Hal.serialWrite(tx_buffer[i]);
  + if (1 != written) {
  + // TODO catch on fire
  + }
  }
  output_buffer_ready = false;
  }
  }
  void process_rx() {
  - while (serialIO_dataAvailable()) {
  + while (Hal.serialBytesAvailableForRead() > 0) {
  rx_in_progress = true;
  char b;
  - serialIO_readByte(&b);
  + uint16_t bytes_read = Hal.serialRead(&b, 1);
  + if (bytes_read == 1) {
  rx_buffer[rx_idx++] = (uint8_t)b;
  if (rx_idx >= PACKET_LEN_MAX) {
  rx_idx = 0;
  @@ -74,6 +72,7 @@ void process_rx() {
  }
  last_rx = millis();
  }
  + }
  // TODO do away with timeout-based reception once we have framing inplace,
  // but it will work for Alpha build for now
  