#!/usr/bin/env bash set -euo pipefail # Upload and run a device-side ESP-NOW sender script. # Default channel is 5 and default destination is broadcast. # # Usage: # scripts/mpremote_send_ch5.sh [port] [dest_mac_hex] [payload_hex] # # Examples: # scripts/mpremote_send_ch5.sh /dev/ttyACM0 # scripts/mpremote_send_ch5.sh /dev/ttyACM0 ffffffffffff 4c0501000000 PORT="${1:-/dev/ttyACM0}" DEST_HEX="${2:-ffffffffffff}" PAYLOAD_HEX="${3:-4c0501000000}" CHANNEL=5 DEVICE_SCRIPT="send_ch5.py" mpremote connect "${PORT}" fs cp "scripts/mpremote_send_ch5_device.py" ":${DEVICE_SCRIPT}" mpremote connect "${PORT}" exec " import ${DEVICE_SCRIPT%.*} ${DEVICE_SCRIPT%.*}.send_once('${DEST_HEX}', '${PAYLOAD_HEX}', ${CHANNEL}) "