def compute_heading(self): ap = self.ap compass = ap.boatimu.SensorValues['heading_lowpass'].value if ap.mode.value == 'true wind': true_wind = resolv(ap.true_wind_compass_offset.value - compass) ap.heading.set(true_wind) elif ap.mode.value == 'wind': wind = resolv(ap.wind_compass_offset.value - compass) ap.heading.set(wind) elif ap.mode.value == 'gps': gps = resolv(compass + ap.gps_compass_offset.value, 180) ap.heading.set(gps) elif ap.mode.value == 'compass': ap.heading.set(compass)
def update(self, data): self.direction.set(resolv(data['direction'] + self.offset.value, 180)) if 'speed' in data: self.speed.set(data['speed'])