fix mqtt topics

main
Simon Frei 4 years ago
parent 7ab93cb0ee
commit 50df84d31e
  1. 11
      ADIS_Csharp/RaspiControl/MqttConstants.cs
  2. 13
      ADIS_Csharp/RaspiControl/Program.cs

@ -7,14 +7,15 @@ using System.Threading.Tasks;
namespace RaspiControl { namespace RaspiControl {
internal static class MqttConstants { internal static class MqttConstants {
#region Publish #region Publish
public static string MOBILE_NAV_TURN_TOPIC = "mobile/cmd/nav/turn"; public static string MOBILE_NAV_TURN_TOPIC = "/mobile/cmd/nav/turn/";
public static string MOBILE_NAV_MOVE_TOPIC = "mobile/cmd/nav/move"; public static string MOBILE_NAV_MOVE_TOPIC = "/mobile/cmd/nav/move/";
public static string MOBILE_NAV_STOP_TOPIC = "mobile/cmd/nav/stop"; public static string MOBILE_NAV_STOP_TOPIC = "/mobile/cmd/nav/stop/";
public static string SPLITFLAP_DISPLAY = "splitFlap/cmd/display"; public static string SPLITFLAP_DISPLAY = "/splitFlap/cmd/display/";
public static string SPLITFLAP_INIT = "/splitFlap/cmd/init/";
#endregion #endregion
#region subscribe #region subscribe
public static string DEVICE_STATUS_APP_TOPIC = "device/status/+/app"; public static string DEVICE_STATUS_APP_TOPIC = "/device/status/+/app";
#endregion #endregion
} }
} }

@ -66,21 +66,26 @@ namespace RaspiControl {
APP_STATE appState = (APP_STATE)Convert.ToUInt16(value.ToString()); APP_STATE appState = (APP_STATE)Convert.ToUInt16(value.ToString());
switch (appState) { switch (appState) {
case APP_STATE.STARTUP: case APP_STATE.STARTUP:
break; Console.WriteLine("Startup");
client.Publish(MqttConstants.SPLITFLAP_INIT, new byte[] { }, MqttMsgBase.QOS_LEVEL_AT_MOST_ONCE, false);
break;
case APP_STATE.INIT: case APP_STATE.INIT:
PublishSplitFlapDisplay("INIT"); Console.WriteLine("Init");
PublishSplitFlapDisplay("INIT");
break; break;
case APP_STATE.CALIBRATE: case APP_STATE.CALIBRATE:
break; break;
case APP_STATE.FOLLOW_LINE: case APP_STATE.FOLLOW_LINE:
PublishSplitFlapDisplay("AUTO"); Console.WriteLine("Follow line");
PublishSplitFlapDisplay("AUTO");
break; break;
case APP_STATE.IDLE: case APP_STATE.IDLE:
break; break;
case APP_STATE.FINAL: case APP_STATE.FINAL:
break; break;
case APP_STATE.READY: case APP_STATE.READY:
PublishSplitFlapDisplay("REDY"); Console.WriteLine("ready");
PublishSplitFlapDisplay("REDY");
break; break;
default: default:
throw new ArgumentException(); throw new ArgumentException();

Loading…
Cancel
Save