feat: record autopilot steering and driveMode

This commit is contained in:
2023-01-25 19:21:20 +01:00
parent a056c6f1b8
commit eac2806072
7 changed files with 226 additions and 75 deletions

View File

@ -15,7 +15,7 @@ const (
func main() {
var mqttBroker, username, password, clientId string
var cameraTopic, steeringTopic, recordTopic, switchRecordTopic string
var cameraTopic, rcSteeringTopic, recordTopic, tfSteeringTopic, driveModeTopic, switchRecordTopic string
var debug bool
mqttQos := cli.InitIntFlag("MQTT_QOS", 0)
@ -24,7 +24,9 @@ func main() {
cli.InitMqttFlags(DefaultClientId, &mqttBroker, &username, &password, &clientId, &mqttQos, &mqttRetain)
flag.StringVar(&cameraTopic, "mqtt-topic-frame", os.Getenv("MQTT_TOPIC_CAMERA"), "Mqtt topic that contains camera frame, use MQTT_TOPIC_CAMERA if args not set")
flag.StringVar(&steeringTopic, "mqtt-topic-steering", os.Getenv("MQTT_TOPIC_STEERING"), "Mqtt topic that contains steering raw values, use MQTT_TOPIC_STEERING if args not set")
flag.StringVar(&rcSteeringTopic, "mqtt-topic-steering", os.Getenv("MQTT_TOPIC_STEERING"), "Mqtt topic that contains steering raw values, use MQTT_TOPIC_STEERING if args not set")
flag.StringVar(&tfSteeringTopic, "mqtt-topic-autopilot-steering", os.Getenv("MQTT_TOPIC_AUTOPILOT_STEERING"), "Mqtt topic that contains steering computed by autopilot, use MQTT_TOPIC_AUTOPILOT_STEERING if args not set")
flag.StringVar(&driveModeTopic, "mqtt-topic-drive-mode", os.Getenv("MQTT_TOPIC_DRIVE_MODE"), "Mqtt topic that contains drive mode instruction, use MQTT_TOPIC_DRIVE_MODE if args not set")
flag.StringVar(&switchRecordTopic, "mqtt-topic-switch-record", os.Getenv("MQTT_TOPIC_SWITCH_RECORD"), "Mqtt topic that contain switch record state, use MQTT_TOPIC_SWITCH_RECORD if args not set")
flag.StringVar(&recordTopic, "mqtt-topic-records", os.Getenv("MQTT_TOPIC_RECORDS"), "Mqtt topic to publish record messages, use MQTT_TOPIC_RECORDS if args not set")
flag.BoolVar(&debug, "debug", false, "Display raw value to debug")
@ -58,7 +60,14 @@ func main() {
}
defer client.Disconnect(50)
r := part.NewRecorder(client, recordTopic, cameraTopic, steeringTopic, switchRecordTopic)
r := part.NewRecorder(client,
recordTopic,
cameraTopic,
rcSteeringTopic,
tfSteeringTopic,
driveModeTopic,
switchRecordTopic,
)
defer r.Stop()
cli.HandleExit(r)