mirror of
https://github.com/freebip/BipEmulator.git
synced 2025-05-18 17:36:32 +03:00
339 lines
13 KiB
C
339 lines
13 KiB
C
#pragma once
|
|
|
|
#define LIBBIP_VERSION "1.3"
|
|
|
|
#define VIDEO_X 176
|
|
#define VIDEO_Y 176
|
|
|
|
#ifndef min
|
|
#define min(x,y) ((x) < (y) ? (x) : (y))
|
|
#endif
|
|
|
|
#ifndef max
|
|
#define max(x,y) ((x) > (y) ? (x) : (y))
|
|
#endif
|
|
|
|
#ifndef abssub
|
|
#define abssub(x,y) ((x) > (y) ? (x)-(y) : (y)-(x))
|
|
#endif
|
|
|
|
#define VIDEO_MEMORY_SIZE 15488
|
|
|
|
#define NULL ((void*)0)
|
|
|
|
// öâĺňŕ
|
|
#define COLOR_BLACK 0x000000 // ÷ĺđíűé
|
|
#define COLOR_RED 0x0000FF // ęđŕńíűé
|
|
#define COLOR_GREEN 0x00FF00 // çĺëĺíűé
|
|
#define COLOR_BLUE 0xFF0000 // ńčíčé
|
|
#define COLOR_YELLOW 0x00FFFF // ćĺëňűé
|
|
#define COLOR_AQUA 0xFFFF00 // öâĺň ěîđńęîé âîëíű
|
|
#define COLOR_PURPLE 0xFF00FF // ńčđĺíĺâűé
|
|
#define COLOR_WHITE 0xFFFFFF // áĺëűé
|
|
#define COLOR_MASK 0xFFFFFF // ěŕńęŕ öâĺňŕ
|
|
|
|
// öâĺňŕ â ęîđîňęîě ôîđěŕňĺ
|
|
#define COLOR_SH_BLACK 0b0000 // ÷ĺđíűé
|
|
#define COLOR_SH_RED 0b0001 // ęđŕńíűé
|
|
#define COLOR_SH_GREEN 0b0010 // çĺëĺíűé
|
|
#define COLOR_SH_BLUE 0b0100 // ńčíčé
|
|
#define COLOR_SH_YELLOW 0b0011 // ćĺëňűé
|
|
#define COLOR_SH_AQUA 0b0110 // öâĺň ěîđńęîé âîëíű
|
|
#define COLOR_SH_PURPLE 0b0101 // ńčđĺíĺâűé
|
|
#define COLOR_SH_WHITE 0b0111 // áĺëűé
|
|
#define COLOR_SH_MASK 0b1111 // ěŕńęŕ öâĺňŕ
|
|
|
|
// ˙çűęč ňĺęńňŕ (ëîęŕëč)
|
|
#define locale_ru_RU 1049 // đóńńęčé
|
|
#define locale_en_US 1033 // ŕíăëčéńęčé
|
|
#define locale_it_IT 1040 // čňŕëü˙íńęčé
|
|
#define locale_es_ES 3082 // čńďŕíńęčé
|
|
#define locale_fr_FR 1036 // ôđŕíöóçńęčé
|
|
#define locale_de_DE 1031 // íĺěĺöęčé
|
|
#define locale_el_GR 1032 // ăđĺ÷ĺńęčé
|
|
|
|
|
|
// ńňđóęňóđŕ ćĺńňŕ ďđč îáđŕáîňęĺ íŕćŕňčé íŕ ýęđŕí č áîęîâóţ ęíîďęó
|
|
struct gesture_ {
|
|
char gesture; // ňčď ćĺńňŕ
|
|
int touch_pos_x, // ęîîđäčíŕňű íŕćŕňč˙ X
|
|
touch_pos_y; // Y
|
|
};
|
|
|
|
// ňčď ćĺńňŕ
|
|
#define GESTURE_CLICK 1 // ďđîńňîĺ íŕćŕňčĺ íŕ ýęđŕí, ęîîđäčíŕňű íŕćŕňč˙ â ďĺđĺěĺííűő touch_pos_x touch_pos_y
|
|
#define GESTURE_SWIPE_UP 2 // ńâŕéď ńíčçó ââĺđő
|
|
#define GESTURE_SWIPE_DOWN 3 // ńâŕéď ńâĺđőó âíčç
|
|
#define GESTURE_SWIPE_LEFT 4 // ńâŕéď ńďđŕâŕ íŕëĺâî
|
|
#define GESTURE_SWIPE_RIGHT 5 // ńâŕéď ńëĺâŕ íŕďđŕâî
|
|
|
|
// âčä ŕíčěŕöčč äë˙ ôóíęöčč show_menu_animate
|
|
#define ANIMATE_LEFT 0 // ŕíčěŕöč˙ ďĺđĺőîäŕ ýęđŕíŕ ńďđŕâŕ íŕëĺâî
|
|
#define ANIMATE_RIGHT 1 // ŕíčěŕöč˙ ďĺđĺőîäŕ ýęđŕíŕ ńëĺâŕ íŕďđŕâî
|
|
#define ANIMATE_UP 2 // ŕíčěŕöč˙ ďĺđĺőîäŕ ýęđŕíŕ ńíčçó ââĺđő
|
|
#define ANIMATE_DOWN 3 // ŕíčěŕöč˙ ďĺđĺőîäŕ ýęđŕíŕ ńâĺđőó âíčç
|
|
|
|
// âĺđńčč ďđîřčâîę
|
|
#define LATIN_1_1_5_12 11512
|
|
#define LATIN_1_1_5_16 11516
|
|
#define LATIN_1_1_5_36 11536
|
|
#define LATIN_1_1_5_56 11556
|
|
#define NOT_LATIN_1_1_2_05 11205
|
|
#define UNI_LATIN 55555
|
|
|
|
|
|
typedef struct { // ńňđóęňóđŕ çŕďóůĺííîăî ďđîöĺńńŕ
|
|
unsigned int process_id; // čäĺíňčôčęŕňîđ ďđîöĺńńŕ, ďđčńâŕčâŕĺňń˙ çŕăđóç÷čęîě
|
|
int index_listed; // číäĺęń ýëüôŕ â ńďčńęĺ çŕăđóç÷čęŕ
|
|
void* base; // óęŕçŕňĺëü íŕ âűäĺëĺííóţ ďîä ďđîöĺńń ďŕě˙ňü
|
|
unsigned int size; // ęîëč÷ĺńňâî âűäĺëĺííîé ďîä ďđîöĺńń ďŕě˙ňč
|
|
void* ret_f; // ňî÷ęŕ âîçâđŕňŕ ďđîöĺńńŕ
|
|
unsigned int ret_param0; // ďŕđŕěĺňđ ôóíęöčč âîçâđŕňŕ
|
|
void(*elf_finish)(void* param0); // óęŕçŕňĺëü íŕ ďđîöĺäóđó çŕâĺđřĺíč˙ ýëüôŕ, ńţäŕ íŕäî ďĺđĺäŕňü
|
|
void(*entry_point)(void* param0); // óęŕçŕňĺëü íŕ ďđîöĺäóđó çŕďóńęŕ ýëüôŕ, ňî÷ęŕ âőîäŕ. Param0 = óęŕçŕňĺëü íŕ ńňđóęňóđó proc çŕďóůĺííîăî ďđîöĺńńŕ
|
|
void* param; // ďîëüçîâŕňĺëüńęčé ďŕđŕěĺňđ, ěîćíî őđŕíčňü ÷ňî óăîäíî, íŕďđčěĺđ óęŕçŕňĺëč âěĺńňî temp_buf_2 äë˙ ôîíîâűő ďđîöĺńńîâ
|
|
int argc; // ęîëč÷ĺńňâî ďŕđŕěĺňđîâ ďđč çŕďóńęĺ ýëüôŕ
|
|
void** argv; // ďŕđŕěĺňđű ďđč çŕďóńęĺ ýëüôŕ
|
|
} Elf_proc_;
|
|
|
|
|
|
// ńňđóęňóđŕ ýęđŕíŕ
|
|
struct regmenu_ {
|
|
unsigned char curr_scr; // íîěĺđ ýęđŕíŕ
|
|
unsigned char swipe_scr; // äîďîëíčĺňëüíűé íîěĺđ ýęđŕíŕ
|
|
unsigned char overlay; // ďđčçíŕę îâĺđëĺéíîăî ýęđŕíŕ
|
|
void* dispatch_func, // ôóíęöč˙ îáđŕáîňęč ćĺńňîâ ýęđŕíŕ
|
|
* key_press, // ôóíęöč˙ îáđŕáîňęč íŕćŕňč˙ íŕ áîęîâóţ ęíîďęó
|
|
* scr_job_func, // ęîëáýę ôóíęöč˙ ňŕéěĺđŕ îáíîâëĺíč˙ ýęđŕíŕ
|
|
* scr_job_buff, // ďĺđĺěĺííŕ˙ äë˙ ęîëáýęŕ îáíîâëĺíč˙ ýęđŕíŕ
|
|
* show_menu_func, // ôóíęöč˙ ôîđěčđîâŕíč˙ ýęđŕíŕ
|
|
* show_menu_buff, // ďĺđĺěĺííŕ˙ äë˙ ôóíęöčč ôîđěčđîâŕíč˙ ýęđŕíŕ
|
|
* long_key_press; // ôóíęöč˙ îáđŕáîňęč äîëăîăî íŕćŕňč˙ íŕ áîęîâóţ ęíîďęó
|
|
};
|
|
|
|
// ńňđóęňóđŕ äŕňű âđĺěĺíč
|
|
struct datetime_ {
|
|
unsigned short year;
|
|
unsigned char month,
|
|
day,
|
|
hour,
|
|
min,
|
|
sec,
|
|
weekday;
|
|
unsigned char h24;
|
|
};
|
|
|
|
// ďŕđŕěĺňđű ăđŕôč÷ĺńęčő đĺńóđńîâ
|
|
struct res_params_ {
|
|
short width; // řčđčíŕ â đő
|
|
short height; // âűńîňŕ â đő
|
|
};
|
|
|
|
// ńňđóęňóđű äŕííűő äŕň÷čęŕ ńĺđäöŕ
|
|
// 1.1.5.12, 1.1.5.36
|
|
typedef struct {
|
|
int t_start;
|
|
short last_hr;
|
|
unsigned char field_2;
|
|
unsigned char field_3;
|
|
unsigned char field_4;
|
|
unsigned char heart_rate; // ÷ŕńňîňŕ, óäŕđîâ/ěčí; >200 - çíŕ÷ĺíčĺ íĺ äîńňóďíî
|
|
unsigned char ret_code; // ńňŕňóń čçěĺđĺíč˙ 0-çŕęîí÷ĺíî, >0 čçěĺđĺíčĺ íĺ çŕęîí÷ĺíî
|
|
unsigned char field_5;
|
|
} hrm_data_struct;
|
|
|
|
// 1.1.2.05
|
|
typedef struct {
|
|
int t_start;
|
|
short last_hr;
|
|
unsigned char heart_rate; // ÷ŕńňîňŕ, óäŕđîâ/ěčí; >200 - çíŕ÷ĺíčĺ íĺ äîńňóďíî
|
|
unsigned char ret_code; // ńňŕňóń čçěĺđĺíč˙ 0-çŕęîí÷ĺíî, >0 čçěĺđĺíčĺ íĺ çŕęîí÷ĺíî
|
|
} hrm_data_struct_legacy;
|
|
|
|
|
|
// íŕâăŕöčîííűĺ äŕííűĺ (äë˙ ôóíęöčč get_navi_data)
|
|
typedef struct {
|
|
int ready; // Ăîňîâíîńňü äŕííűő: bit 0: äŕâëĺíčĺ ; bit 1: âűńîňŕ ; bit 2: řčđîňŕ ; bit 3: äîëăîňŕ
|
|
unsigned int pressure; // çíŕ÷ĺíčĺ äŕâëĺíč˙ â Ďŕńęŕë˙ő
|
|
float altitude; // çíŕ÷ĺíčĺ âűńîňű â ěĺňđŕő
|
|
signed int latitude; // ěîäóëü çíŕ÷ĺíč˙ äîëăîňű â ăđŕäóńŕő, óěíîćĺííîĺ íŕ 3000000
|
|
int ns; // ns: 0-ńĺâĺđíîĺ ďîëóřŕđčĺ; 1-ţćíîĺ
|
|
signed int longitude; // ěîäóëü çíŕĺíč˙ äîëăîňű â ăđŕäóńŕő, óěíîćĺííîĺ íŕ 3000000
|
|
int ew; // ew: 2-çŕďŕäíîĺ ďîëóřŕđčĺ; 3-âîńňî÷íîĺ;
|
|
} navi_struct_;
|
|
|
|
// ďîëóřŕđč˙
|
|
#define NAVI_NORTH_HEMISPHERE 0 // ńĺâĺđíîĺ ďîëóřŕđčĺ
|
|
#define NAVI_SOUTH_HEMISPHERE 1 // ţćíîĺ ďîëóřŕđčĺ
|
|
#define NAVI_WEST_HEMISPHERE 2 // çŕďŕäíîĺ ďîëóřŕđčĺ
|
|
#define NAVI_EAST_HEMISPHERE 3 // âîňî÷íîĺ ďîëóřŕđčĺ
|
|
|
|
// ěŕęđîńű äë˙ ďđîâĺđęč çíŕ÷ĺíč˙ ăîňîâíîńňč
|
|
#define IS_NAVI_PRESS_READY(navi) (navi & 0x01) // ăîňîâíîńňü äŕííűő ŕňěîńôĺđíîăî äŕâëĺíč˙: 0 - íĺ ăîňîâ, 1 - ăîňîâ
|
|
#define IS_NAVI_GPS_READY(navi) (navi & 0x0E) // ăîňîâíîńňü ęîîđäčíŕň: 0 - íĺ ăîňîâ, 1 - ăîňîâ
|
|
#define IS_NAVI_GPS_ALT_READY(navi) (navi & 0x02) // ăîňîâíîńňü äŕííűő âűńîňű (GPS): 0 - íĺ ăîňîâ, 1 - ăîňîâ
|
|
#define IS_NAVI_GPS_LAT_READY(navi) (navi & 0x04) // ăîňîâíîńňü äŕííűő řčđîňű (GPS): 0 - íĺ ăîňîâ, 1 - ăîňîâ
|
|
#define IS_NAVI_GPS_LONG_READY(navi) (navi & 0x08) // ăîňîâíîńňü äŕííűő äîëăîňű (GPS): 0 - íĺ ăîňîâ, 1 - ăîňîâ
|
|
|
|
// ęŕę ďđŕâčëî äŕííűĺ âűńîňű, řčđîňű č äîëăîňű ăîňîâű ďđč ôčęńŕöčč GPS ďđčĺěíčęŕ, ňŕę ÷ňî äîńňŕňî÷íî ďđîâĺđ˙ňü
|
|
// ńňŕňóń ăîňîâíîńňč GPS - IS_NAVI_GPS_READY(navi)
|
|
|
|
// Ňčďű óâĺäîěëĺíčé
|
|
#define NOTIFY_TYPE_NONE 0
|
|
#define NOTIFY_TYPE_SMS 5
|
|
#define NOTIFY_TYPE_EMAIL 6
|
|
#define NOTIFY_TYPE_MICHAT 7
|
|
#define NOTIFY_TYPE_FACEBOOK 8
|
|
#define NOTIFY_TYPE_TWITTER 9
|
|
#define NOTIFY_TYPE_MI 10
|
|
#define NOTIFY_TYPE_WHATSAPP 12
|
|
#define NOTIFY_TYPE_ALARM 16
|
|
#define NOTIFY_TYPE_INSTAGRAM 18
|
|
#define NOTIFY_TYPE_ALIPAY 22
|
|
#define NOTIFY_TYPE_CALENDAR 27
|
|
#define NOTIFY_TYPE_VIBER 29
|
|
#define NOTIFY_TYPE_TELEGRAM 31
|
|
#define NOTIFY_TYPE_SKYPE 33
|
|
#define NOTIFY_TYPE_VK 34
|
|
#define NOTIFY_TYPE_CALL 39
|
|
#define NOTIFY_TYPE_LOW_BAT 42
|
|
|
|
|
|
// óęŕçŕňĺëü íŕ ďŕě˙ňü ýęđŕíŕ
|
|
void* get_ptr_screen_memory();
|
|
|
|
unsigned char get_var_menu_overlay();
|
|
|
|
int vibrate(int count, int on_ms, int off_ms);
|
|
// ďîäăđóçęŕ řđčôňŕ
|
|
void load_font();
|
|
// đĺăčńňđŕöč˙ ńîçäŕâŕĺěîăî ýęđŕíŕ â îďĺđŕöčîííîé ńčńňĺěĺ
|
|
void reg_menu(void* regmenu_, int param);
|
|
void* pvPortMalloc(int size);
|
|
int _memclr(void* buf, int len);
|
|
// âńňđîĺííŕ˙ â ďđîřčâęó ôóíęöč˙ memcpy
|
|
int _memcpy(void* dest, const void* srcptr, int num);
|
|
// âńňđîĺííŕ˙ â ďđîřčâęó ôóíęöč˙ memset
|
|
int _memset(void* buf, int len, int val);
|
|
|
|
|
|
int show_watchface();
|
|
void* get_ptr_temp_buf_2();
|
|
|
|
// çŕďóńę ňŕéěĺđŕ ňĺęóůĺăî ýęđŕíŕ. ęîëáýę ňŕéěĺđŕ screen_job_func; cmd=0 îńňŕíîâčňü ňŕéěĺđ, cmd=1 âçâîä ňŕéěĺđŕ íŕ ęîëč÷ĺńňâî ěń đŕâíîĺ period
|
|
int set_update_period(int cmd, int period);
|
|
|
|
// âűáîđ ôîíîâîăî öâĺňŕ äë˙ ďîńëĺäóţůčő ăđŕôč÷ĺńęčő îďđĺŕöčé
|
|
void set_bg_color(long color);
|
|
// čńďîëüçîâŕíčĺ äŕííîé ôóíęöčč íĺîáőîäčěî ďđîčçâîäčňü â ńîîňâĺňńňâčč ń ďđčěĺđîě (ęëŕńńíîĺ îďčńŕíčĺ)
|
|
int set_graph_callback_to_ram_1();
|
|
// âűáîđ öâĺňŕ äë˙ ďîńëĺäóţůčő ăđŕôč÷ĺńęčő îďđĺŕöčé
|
|
void set_fg_color(long color);
|
|
// çŕëčâęŕ ýęđŕíŕ öâĺňîě ôîíŕ
|
|
void fill_screen_bg();
|
|
// âűâîä ňĺęńňŕ ďî ęîîđäčíŕňŕě, pos_x, pos_y ęîîđäčíŕňű ńĺđĺäčíű âĺđőíĺăî ęđŕ˙ íŕäďčńč
|
|
void text_out_center(const char* text, int pos_center_x, int pos_y);
|
|
// âűâîä ňĺęńňŕ ďî ęîîđäčíŕňŕě, pos_x, pos_y ęîîđäčíŕňű âĺđőíĺăî ëĺâîăî óăëŕ íŕäďčńč
|
|
void text_out(const char* text, int pos_x, int pos_y);
|
|
|
|
// îáíîâčňü íŕ ýęđŕíĺ ńňđîęč (ęîďčđîâŕíčĺ čç âčäĺîďŕě˙ňč â äčńďëĺé)
|
|
void repaint_screen_lines(int from, int to);
|
|
// îňîáđŕćĺíčĺ ěĺíţ ń ŕíčěŕöčĺé ńäâčăŕ ýęđŕíŕ, param - ďŕđŕěĺňđ ďĺđĺäŕâŕĺěűé ôóíęöčč show_menu_function
|
|
int show_menu_animate(void* show_menu_function, int param, int animate);
|
|
// îňđčńîâęŕ ăîđčçîíňŕëüíîé ëčíčč
|
|
void draw_horizontal_line(int pos_y, int from_x, int to_x);
|
|
// îňđčńîâęŕ âĺđčňęŕëüíîé ëčíčč
|
|
void draw_vertical_line(int pos_x, int from_y, int to_y);
|
|
|
|
// âîçâđŕůŕĺň ęîëč÷ĺńňâî ňčęîâ ńčńňĺěíîăî ňŕéěĺđŕ ń ěîěĺíňŕ ďĺđĺçŕăđóçęč (ďđčěĺđíî 510 ňčęîâ â ńĺęóíäó)
|
|
int get_tick_count();
|
|
// âńňđîĺííŕ˙ â ďđîřčâęó ôóíęöč˙ sprintf
|
|
int _sprintf(char* buf, const char* format, ...);
|
|
// óńňŕíîâęŕ ďŕđŕěĺňđîâ ýęđŕíŕ
|
|
int set_display_state_value(int state_1, int state);
|
|
// îňđčńîâęŕ çŕęđŕřĺííîăî öâĺňîě ôîíŕ ďđ˙ěîóăîëüíčęŕ
|
|
void draw_filled_rect_bg(int from_x, int from_y, int to_x, int to_y);
|
|
// ÷ňĺíčĺ ńĺęöčč íŕńňđîĺę ęîíęđĺňíîăî ýëüôŕ
|
|
int ElfReadSettings(int index_listed, void* buffer, int offset, int len);
|
|
// çŕďčńü ńĺęöčč íŕńňđîĺę ęîíęđĺňíîăî ýëüôŕ
|
|
int ElfWriteSettings(int index_listed, void* buffer, int offset, int len);
|
|
// îňîáđŕćĺíčĺ ăđŕôč÷ĺńęîăî đĺńóđńŕ ďî ĺăî íîěĺđó
|
|
void show_res_by_id(int res_ID, int pos_x, int pos_y);
|
|
// îňîáđŕćŕĺň íŕ ýęđŕíĺ ăđŕôč÷ĺńęčé đĺńóđń ęîíęđĺňíîăî ýëüôŕ, ńîäĺđćŕůčéń˙ â ńĺęöčč .elf.resources
|
|
// íóěĺđŕöč˙ đĺńóđńîâ íŕ÷číŕĺňń˙ ń 0 äë˙ ęŕćäîăî ýëüôŕ
|
|
int show_elf_res_by_id(int index_listed, int res_id, int pos_x, int pos_y);
|
|
// číčöčŕëčçŕöč˙ ăĺíĺđŕňîđŕ ńëó÷ŕéíűő ÷čńĺë
|
|
extern void _srand(unsigned int seed);
|
|
// çŕďčńü â ëîă óńňđîéńňâŕ, debug_level=5
|
|
int log_printf(int debug_level, const char* format, ...);
|
|
// îňđčńîâęŕ ďđ˙ěîóăîëüíčęŕ
|
|
void draw_rect(int from_x, int from_y, int to_x, int to_y);
|
|
// âîçâđŕůŕĺň äŕííűĺ î ňĺęóůĺé äŕňĺ/âđĺěĺíč
|
|
int get_current_date_time(struct datetime_* datetime);
|
|
// ďđîöĺäóđŕ đŕçáîđŕ ńâŕéďîâ áűńňđîăî ěĺíţ
|
|
int dispatch_left_side_menu(struct gesture_* gest);
|
|
// ďîëó÷ĺíčĺ ëîęŕëč íŕ îńíîâĺ âűáđŕííîăî ˙çűęŕ ěĺíţ ěîäŕ
|
|
int get_selected_locale();
|
|
// âîçâđŕůŕĺň řčđčíó ňĺęńňŕ, ęîňîđűé áóäĺň âűâĺäĺí ňĺęóůčě řđčôňîě
|
|
int text_width(const char* text);
|
|
// âîçâđŕůŕĺň âűńîňó ňĺęńňŕ, ňĺęóůĺăî řđčôňŕ
|
|
int get_text_height();
|
|
// âîçâđŕůŕĺň ďĺđĺěĺííóţ left_side_menu_active
|
|
int get_left_side_menu_active();
|
|
// óęŕçŕňĺëü íŕ ôóíęöčţ ńîçäŕíč˙ ňĺęóůĺăî ýęđŕíŕ
|
|
void* get_ptr_show_menu_func();
|
|
// âîçâđŕůŕĺň óęŕçŕňĺëü íŕ ńňđóęňóđó çŕďóůĺííîăî ďđîöĺńńŕ âű÷čńë˙˙ ďî ŕäđĺńó ńčěâîëŕ
|
|
Elf_proc_* get_proc_by_addr(void* addr);
|
|
// ôóíęöč˙ çŕâĺđřĺíč˙ ďđčëîćĺíč˙, â ęŕ÷ĺńňâĺ ďŕđŕěĺňđŕ íĺîáőîäčěî ďĺđĺäŕňü ŕäđĺń îńíîâíîé ôóíęöčč îňîáđŕćĺíč˙ ýęđŕíŕ ďđčëîćĺíč˙
|
|
void elf_finish(void* addr);
|
|
// îňđčńîâęŕ ďđ˙ěîóăîëüíčęŕ
|
|
void draw_rect(int from_x, int from_y, int to_x, int to_y);
|
|
// îňđčńîâęŕ çŕęđŕřĺííîăî ďđ˙ěîóăîëüíčęŕ
|
|
void draw_filled_rect(int from_x, int from_y, int to_x, int to_y);
|
|
// âńňđîĺííŕ˙ â ďđîřčâęó ôóíęöč˙ strlen
|
|
int _strlen(const char* str);
|
|
// âîçâđŕůŕĺň âĺđńčţ ďđîřčâęč
|
|
int get_fw_version();
|
|
// îňîáđŕćĺíčĺ öčôđ áîëüřčě řđčôňîě
|
|
void show_big_digit(int symbolSet, const char* digits, int pos_x, unsigned int pos_y, int space);
|
|
// âîçâđŕůŕĺň ńňđóęňóđó res_params_ ń đŕçěĺđŕěč ăđŕôč÷ĺńęîăî đĺńóđńŕ
|
|
int get_res_params(int index_listed, int res_id, struct res_params_* res_params);
|
|
// ďđčîńňŕíîâčňü ňĺęóůčé ďđîöĺńń íŕ âđĺě˙ ěń
|
|
void vTaskDelay(int delay_ms);
|
|
|
|
|
|
|
|
|
|
// ďîëó÷ĺíčĺ čçěĺđĺííîăî ďîńëĺäíĺăî çíŕ÷ĺíč˙ ń äŕň÷čęŕ ńĺđäöĺáčĺíč˙
|
|
unsigned char get_last_heartrate();
|
|
// ńňŕíîâęŕ đĺćčěŕ čçěĺđĺíč˙ ďóëüńŕ 0x20 - îäíîęđŕňíűé
|
|
int set_hrm_mode(int hrm_mode);
|
|
// ďîëó÷ĺíčĺ óęŕçŕňĺë˙ íŕ äŕííűĺ äŕň÷čęŕ ńĺđäöŕ
|
|
void* get_hrm_struct();
|
|
|
|
// Ôóíęöčč íŕâčăŕöčč
|
|
// âęëţ÷ĺíčĺ/îňęëţ÷ĺíčĺ ńĺíńîđîâ GPS č áŕđîěĺňđŕ
|
|
void switch_gps_pressure_sensors(int mode);
|
|
// ďîëó÷ĺíčĺ äŕííűő GPS č áŕđîěĺňđŕ
|
|
void get_navi_data(navi_struct_* navi_data);
|
|
// ďđîâĺđęŕ ăîňîâíîńňč GPS
|
|
int is_gps_fixed();
|
|
|
|
// internal
|
|
|
|
struct global_app_data_t
|
|
{
|
|
// ŕäđĺń ôóíęöčč âîçâđŕňŕ
|
|
void* ret_f;
|
|
};
|
|
|
|
int main(int param0, char** argv);
|
|
int main_proxy();
|
|
|
|
void regmenu_show_screen(void* param);
|
|
void regmenu_screen_job();
|
|
void regmenu_long_keypress();
|
|
void regmenu_keypress();
|
|
int regmenu_dispatch_func(void* param);
|
|
|