DEFINITION MODULE aprstext; (* aprs tracks on osm map by oe5dxl *)

FROM aprsdecode IMPORT DAT, pVARDAT, FRAMEBUF, pFRAMEHIST, pOPHIST, MONCALL, CLICKOBJECT;
FROM aprsstr IMPORT TIME, POSITION;

CONST TEXTCOLEND=376C;
      TEXTCOLLGR=367C;
      TEXTCOLRED=370C;
      TEXTCOLBLU=371C;
      TEXTCOLYEL=372C;
      TEXTCOLORA=373C;
      TEXTCOLVIO=374C;
      TEXTINSERTSYMBOL=375C;

PROCEDURE decode(VAR s:ARRAY OF CHAR; pf0, pf:pFRAMEHIST; oldvar:pVARDAT; odate:TIME; decoded:BOOLEAN; VAR dat:DAT);
PROCEDURE strcp(from:ARRAY OF CHAR; p, l:CARDINAL; VAR to:ARRAY OF CHAR);
PROCEDURE optext(typ:CARDINAL; findword:ARRAY OF CHAR;
          VAR obj:CLICKOBJECT; VAR last:BOOLEAN; VAR s:ARRAY OF CHAR);
PROCEDURE measure(pos0, pos1:POSITION; VAR s:ARRAY OF CHAR; sum:BOOLEAN);
PROCEDURE postostr(pos:POSITION; form:CHAR; VAR s:ARRAY OF CHAR);
PROCEDURE degtopos(s:ARRAY OF CHAR; VAR pos:POSITION);
PROCEDURE deghtopos(s:ARRAY OF CHAR; VAR pos:POSITION);
PROCEDURE degdeztopos(s:ARRAY OF CHAR; VAR pos:POSITION);
PROCEDURE deganytopos(s:ARRAY OF CHAR; VAR pos:POSITION);
PROCEDURE getmypos(VAR pos:POSITION):BOOLEAN;
PROCEDURE listop(decoded:BOOLEAN);
PROCEDURE listtyps(typ:CHAR; decod:BOOLEAN; oneop:ARRAY OF CHAR);
PROCEDURE listin(r:ARRAY OF CHAR; port, dir:CHAR; decoded:BOOLEAN; quali, txd, level:INTEGER);
PROCEDURE DateLocToStr(time:TIME; VAR s:ARRAY OF CHAR);  (* append (+localtime) to time *)
PROCEDURE encbeacon(VAR s:ARRAY OF CHAR; VAR len:CARDINAL);
PROCEDURE FtoC(tempf:REAL):REAL;                              (* fahrenheit to celsius *)
PROCEDURE CtoF(tempc:REAL):REAL;
PROCEDURE oppo(opcall:MONCALL):pOPHIST;
PROCEDURE setmarkalti(pf:pFRAMEHIST; op:pOPHIST; overwrite:BOOLEAN);
PROCEDURE setmark1(pos:POSITION; overwrite:BOOLEAN; alt:INTEGER; timestamp:TIME);
PROCEDURE Apphex(VAR s:ARRAY OF CHAR; h:ARRAY OF CHAR);
PROCEDURE isacall(s:ARRAY OF CHAR):BOOLEAN;
PROCEDURE logfndate(time:TIME; VAR fn:ARRAY OF CHAR);
PROCEDURE sievert2str(v:REAL; VAR s:ARRAY OF CHAR);
PROCEDURE compressdata(pos:POSITION; knots, dir:CARDINAL; feet:INTEGER;
                       sym:ARRAY OF CHAR; VAR s:ARRAY OF CHAR);
PROCEDURE decodelistline(VAR s:ARRAY OF CHAR; text:ARRAY OF CHAR; time:TIME);
PROCEDURE callwrong(s:ARRAY OF CHAR):BOOLEAN;

END aprstext.
