|
dRonin
adbada4
dRonin firmware
|
#include <openpilot.h>#include <math.h>#include <string.h>#include <misc_math.h>#include "charosd.h"#include "physical_constants.h"#include "airspeedactual.h"#include "flightstatus.h"#include "systemalarms.h"#include "modulesettings.h"Go to the source code of this file.
Macros | |
| #define | ERR_STR "---" |
| #define | terminate_buffer() do { buffer [sizeof(buffer) - 1] = 0; } while (0) |
| #define | STD_UPDATE(__name, n, fmt,...) |
| #define | STD_PANEL(__name, bs, fmt,...) STD_UPDATE(__name, bs, fmt, __VA_ARGS__); |
| #define | _PAN_CLIMB_SYMB 0x03 |
| #define | _PAN_GPS_2D 0x01 |
| #define | _PAN_GPS_3D 0x02 |
| #define | PANEL_HORIZON_WIDTH 14 |
| #define | PANEL_HORIZON_HEIGHT 5 |
| #define | _PAN_HORZ_LINE 0x16 |
| #define | _PAN_HORZ_TOP 0x0e |
| #define | _PAN_HORZ_CHAR_LINES 18 |
| #define | _PAN_HORZ_VRES 9 |
| #define | _PAN_HORZ_INT_WIDTH (PANEL_HORIZON_WIDTH - 2) |
| #define | _PAN_HORZ_LINES (PANEL_HORIZON_HEIGHT * _PAN_HORZ_VRES) |
| #define | _PAN_HORZ_TOTAL_LINES (PANEL_HORIZON_HEIGHT * _PAN_HORZ_CHAR_LINES) |
| #define | _ARROWS CHAROSD_CHAR_ARROW_NL |
| #define | MAX_ALARM_LEN MAX7456_COLUMNS |
| #define | declare_panel(__name, __req) |
Functions | |
| static float | pythag (float a, float b) |
| static void | draw_rect (charosd_state_t state, uint8_t l, uint8_t t, uint8_t w, uint8_t h, bool filled, uint8_t attr) |
| STD_PANEL (ALTITUDE, 8,"\x85%d\x8d",(int16_t) round(-state->telemetry.position_actual.Down)) | |
| static void | CLIMB_update (charosd_state_t state, uint8_t x, uint8_t y) |
| static void | FLIGHTMODE_update (charosd_state_t state, uint8_t x, uint8_t y) |
| static void | ARMEDFLAG_update (charosd_state_t state, uint8_t x, uint8_t y) |
| static void | FLIGHTTIME_update (charosd_state_t state, uint8_t x, uint8_t y) |
| STD_PANEL (ROLL, 7,"\xb2%d\xb0",(int16_t) state->telemetry.attitude_actual.Roll) | |
| STD_PANEL (PITCH, 7,"\xb1%d\xb0",(int16_t) state->telemetry.attitude_actual.Pitch) | |
| static void | GPS_update (charosd_state_t state, uint8_t x, uint8_t y) |
| STD_PANEL (LATITUDE, 11,"\x83%02.6f",(double) state->telemetry.gps_position.Latitude/10000000.0) | |
| STD_PANEL (LONGITUDE, 11,"\x84%02.6f",(double) state->telemetry.gps_position.Longitude/10000000.0) | |
| void | HORIZON_update (charosd_state_t state, uint8_t x, uint8_t y) |
| STD_PANEL (THROTTLE, 7,"\x87%d%%",(int) MAX(-99, state->telemetry.manual.thrust *100)) | |
| STD_PANEL (GROUNDSPEED, 7,"\x80%d\x81",(int) roundf(pythag(state->telemetry.velocity_actual.North, state->telemetry.velocity_actual.East)*3.6f)) | |
| STD_PANEL (BATTERYVOLT, 8,"%.2f\x8e",(double) state->telemetry.battery.Voltage) | |
| STD_PANEL (BATTERYCURRENT, 8,"%.2f\x8f",(double) state->telemetry.battery.Current) | |
| STD_PANEL (BATTERYCONSUMED, 8,"%u\x82",(uint16_t) state->telemetry.battery.ConsumedEnergy) | |
| static void | RSSIFLAG_update (charosd_state_t state, uint8_t x, uint8_t y) |
| static void | HOMEDISTANCE_update (charosd_state_t state, uint8_t x, uint8_t y) |
| static void | HOMEDIRECTION_update (charosd_state_t state, uint8_t x, uint8_t y) |
| STD_PANEL (HEADING, 6,"%d%c",(int)(round(state->telemetry.attitude_actual.Yaw)+360)%360, CHAROSD_CHAR_DEG) | |
| STD_PANEL (CALLSIGN, 11,"%s", state->custom_text) | |
| STD_PANEL (TEMPERATURE, 9,"\xfd%.1f\x8a", 0.0) | |
| static void | RSSI_update (charosd_state_t state, uint8_t x, uint8_t y) |
| static void | COMPASS_update (charosd_state_t state, uint8_t x, uint8_t y) |
| static void | AIRSPEED_update (charosd_state_t state, uint8_t x, uint8_t y) |
| STD_PANEL (CROSSHAIR, 2,"%c", 0x0a) | |
| static void | ALARMS_update (charosd_state_t state, uint8_t x, uint8_t y) |
Variables | |
| const char | _horz_line [PANEL_HORIZON_WIDTH+1] = "\xb8 \xb9" |
| const char | _horz_center [PANEL_HORIZON_WIDTH+1] = "\xc8 \xc9" |
| const panel_t | panels [CHARONSCREENDISPLAYSETTINGS_PANELTYPE_MAXOPTVAL+1] |
| const uint8_t | count = sizeof (panels) / sizeof (panel_t) |
Definition in file panel.c.