Compare commits

...

5 Commits

Author SHA1 Message Date
c0e8d9e271 debug: improve debug logs 2022-05-30 18:58:52 +02:00
1057bad1f5 fix: renable handle TERM signals 2022-05-30 18:53:19 +02:00
d15a7b53f9 debug: add log for raw line 2022-03-29 19:28:13 +02:00
9d58ac21cc Revert "refactor: handle SIGTERM"
This reverts commit 63af73a5f4ed2ba2383c95303c449d6039e1fcbf.
2022-02-15 18:29:20 +01:00
63af73a5f4 refactor: handle SIGTERM 2022-02-15 18:24:52 +01:00
2 changed files with 12 additions and 8 deletions

View File

@ -84,6 +84,9 @@ func main() {
sc := arduino.NewAsymetricPWMSteeringConfig(steeringLeftPWM, steeringRightPWM, steeringCenterPWM)
a := arduino.NewPart(client, device, baud, throttleTopic, steeringTopic, driveModeTopic, switchRecordTopic, pubFrequency, sc)
cli.HandleExit(a)
err = a.Start()
if err != nil {
zap.S().Errorw("unable to start service", "error", err)

View File

@ -91,6 +91,7 @@ func (a *Part) Start() error {
break
}
zap.L().Debug("raw line: %s", zap.String("raw", line))
if !serialLineRegex.MatchString(line) {
zap.S().Errorf("invalid line: '%v'", line)
continue
@ -125,10 +126,10 @@ func (a *Part) Stop() {
}
func (a *Part) processChannel1(v string) {
zap.L().Debug("process new value for channel1", zap.String("value", v))
zap.L().Debug("process new value for steering on channel1", zap.String("value", v))
value, err := strconv.Atoi(v)
if err != nil {
zap.S().Errorf("invalid value for channel1, should be an int: %v", err)
zap.S().Errorf("invalid steering value for channel1, should be an int: %v", err)
}
a.steering = convertPwmSteeringToPercent(value, a.pwmSteeringConfig.Left, a.pwmSteeringConfig.Right, a.pwmSteeringConfig.Center)
}
@ -150,10 +151,10 @@ func convertPwmSteeringToPercent(value int, minPwm int, maxPwm int, middlePwm in
}
func (a *Part) processChannel2(v string) {
zap.L().Debug("process new value for channel2", zap.String("value", v))
zap.L().Debug("process new throttle value on channel2", zap.String("value", v))
value, err := strconv.Atoi(v)
if err != nil {
zap.S().Errorf("invalid value for channel2, should be an int: %v", err)
zap.S().Errorf("invalid throttle value for channel2, should be an int: %v", err)
}
if value < MinPwmThrottle {
value = MinPwmThrottle
@ -176,7 +177,7 @@ func (a *Part) processChannel5(v string) {
value, err := strconv.Atoi(v)
if err != nil {
zap.S().Errorf("invalid value for channel5, should be an int: %v", err)
zap.S().Errorf("invalid value for channel5 'record', should be an int: %v", err)
}
if value < 1800 {
@ -196,17 +197,17 @@ func (a *Part) processChannel6(v string) {
zap.L().Debug("process new value for channel6", zap.String("value", v))
value, err := strconv.Atoi(v)
if err != nil {
zap.S().Errorf("invalid value for channel6, should be an int: %v", err)
zap.S().Errorf("invalid value for channel6 'drive-mode', should be an int: %v", err)
return
}
if value > 1800 {
if a.driveMode != events.DriveMode_PILOT {
zap.S().Infof("Update channel 6 with value %v, new user_mode: %v", value, events.DriveMode_PILOT)
zap.S().Infof("Update channel 6 'drive-mode' with value %v, new user_mode: %v", value, events.DriveMode_PILOT)
a.driveMode = events.DriveMode_PILOT
}
} else {
if a.driveMode != events.DriveMode_USER {
zap.S().Infof("Update channel 6 with value %v, new user_mode: %v", value, events.DriveMode_USER)
zap.S().Infof("Update channel 6 'drive-mode' with value %v, new user_mode: %v", value, events.DriveMode_USER)
}
a.driveMode = events.DriveMode_USER
}