Fix angle updating and remove empty callsign

This commit is contained in:
Joel Wetzell 2020-07-25 10:23:46 -05:00
parent f32584c553
commit 3ec41bc209
2 changed files with 12 additions and 5 deletions

View File

@ -169,10 +169,12 @@ void GeoMap::paint(Painter& painter) {
display.fill_rectangle({ r.center() - Point(16, 1), { 32, 2 } }, Color::red()); display.fill_rectangle({ r.center() - Point(16, 1), { 32, 2 } }, Color::red());
display.fill_rectangle({ r.center() - Point(1, 16), { 2, 32 } }, Color::red()); display.fill_rectangle({ r.center() - Point(1, 16), { 2, 32 } }, Color::red());
} else if (angle_ < 360){ } else if (angle_ < 360){
//if we have a valid angle just draw bearing //if we have a valid angle draw bearing
draw_bearing({ 120, 32 + 144 }, angle_, 10, Color::red()); draw_bearing({ 120, 32 + 144 }, angle_, 10, Color::red());
if(tag_.find_first_not_of(' ') != tag_.npos){ //only draw tag if we have something other than spaces
painter.draw_string({ 120 - ((int)tag_.length() * 8 / 2), 32 + 144 - 32 }, style(), tag_); painter.draw_string({ 120 - ((int)tag_.length() * 8 / 2), 32 + 144 - 32 }, style(), tag_);
} }
}
else { else {
//draw a small cross //draw a small cross
display.fill_rectangle({ r.center() - Point(8, 1), { 16, 2 } }, Color::red()); display.fill_rectangle({ r.center() - Point(8, 1), { 16, 2 } }, Color::red());
@ -262,9 +264,9 @@ void GeoMapView::focus() {
void GeoMapView::update_position(float lat, float lon, uint16_t angle) { void GeoMapView::update_position(float lat, float lon, uint16_t angle) {
lat_ = lat; lat_ = lat;
lon_ = lon; lon_ = lon;
angle_ = angle;
geopos.set_lat(lat_); geopos.set_lat(lat_);
geopos.set_lon(lon_); geopos.set_lon(lon_);
geomap.set_angle(angle);
geomap.move(lon_, lat_); geomap.move(lon_, lat_);
geomap.set_dirty(); geomap.set_dirty();
} }
@ -334,6 +336,7 @@ GeoMapView::GeoMapView(
geomap.set_mode(mode_); geomap.set_mode(mode_);
geomap.set_tag(tag); geomap.set_tag(tag);
geomap.set_angle(angle);
geomap.move(lon_, lat_); geomap.move(lon_, lat_);
geopos.set_read_only(true); geopos.set_read_only(true);

View File

@ -129,6 +129,10 @@ public:
tag_ = new_tag; tag_ = new_tag;
} }
void set_angle(uint16_t new_angle){
angle_ = new_angle;
}
private: private:
void draw_bearing(const Point origin, const uint16_t angle, uint32_t size, const Color color); void draw_bearing(const Point origin, const uint16_t angle, uint32_t size, const Color color);