<inputclass="u-full-width"type="password"name="ap_password"id="ap_password"placeholder="AUTO AP Password"title="AUTO AP Password">
<inputclass="u-full-width"type="password"name="ap_password"id="ap_password"placeholder="AUTO AP Password"title="AUTO AP Password, 8 characters minimum">
<inputtype="text"name="ntp_server"id="ntp_server"placeholder="pool.ntp.org"title="NTP Server name or IP Address. I.e. pool.ntp.org. If your igate is in the HAMNET, use ntp.hc.r1.ampr.org.">
</div>
<div>
<labelfor="syslog_server">Syslog Server</label>
<inputtype="text"name="syslog_server"id="syslog_server"placeholder=""title="Syslog Server name or IP Address. Leave empty to switch off. Syslog needs do be compiled in (will be default in futute)">
</div>
</div>
<divclass="grid-container quarters">
<div>
<labelfor="wifi_failAP">Allow failback to Mode AP</label>
<inputname="wifi_failAP"id="wifi_failAP"type="checkbox"value="1"title="Allow failback to mode AP after once connected successfully connected (after boot) to configured remote AP. Disable for igates, where you don't need your tracker to be a hotspot. You like to enable, if you use your tracker portable and it should automatically be wifi client to your home network, and be AP if you are outside.">
</div>
<div>
<labelfor="tncsrvr_en">Enable TNC-Server</label>
<inputname="tncsrvr_en"id="tncsrvr_en"type="checkbox"value="1"title="Enable TNC-Server (KISS over TCP) on port tcp 8001. If your device in open networks like HAMNET, enable it only when needed and consider firewalling.">
</div>
<div>
<labelfor="gpssrv_en">Enable GPS-Server</label>
<inputname="gpssrv_en"id="gpssrv_en"type="checkbox"value="1"title="Enable GPS-Server (NMEA on port tcp 10110. If your device in open networks like HAMNET, enable it only when needed and consider firewalling.">
<inputname="lora_freq"id="lora_freq"type="number"min="144.000"max="928.000"step="0.001"title="LoRa center frequency between 433.001 and 928.000">
</div>
<divclass="grid-container halves">
<div>
<labelfor="txPower">dBm</label>
<inputname="txPower"id="txPower"type="number"min="0"max="23"title="LoRa TX Power. Range 0 to 23dBm">
<labelfor="lora_freq">Main Frequency [MHz]</label>
<inputname="lora_freq"id="lora_freq"type="number"min="433.0000"max="928.0000"step="0.0001"title="LoRa center frequency between 433.0001 and 928.0000. I.e. 433.775">
</div>
<div>
<labelfor="lora_speed">Speed</label>
<selectid="lora_speed"name="lora_speed">
<optionvalue="439">BW 31.25khz CR 4:5 SF 9 (300bps)</option>
<optionvalue="1367">BW 31.25khz CR 4:5 SF 7 (1200bps)</option>
<optionvalue="300">BW 125khz CR 4:5 SF 12 (default, 300bps)</option>
<optionvalue="300">BW 125khz CR 4:5 SF 12 (Slow Standard, 300bps)</option>
<optionvalue="240">BW 125khz CR 4:6 SF 12 (244bps)</option>
<optionvalue="210">BW 125khz CR 4:7 SF 12 (209bps)</option>
<optionvalue="180">BW 125khz CR 4:8 SF 12 (183bps)</option>
<optionvalue="610">BW 125khz CR 4:8 SF 10 (610bps)</option>
<optionvalue="1200">BW 125khz CR 4:5 SF 9 (PL,UA, 1200bps)</option>
<optionvalue="6000">BW 125khz CR 4:5 SF 7 (BBS, 6000bps)</option>
<optionvalue="21000">BW 500khz CR 4:5 SF 7 (BBS, 21000bps)</option>
<optionvalue="1200">BW 125khz CR 4:7 SF 9 (Fast Standard, 1200bps)</option>
<inputname="lora_tx_en"id="lora_tx_en"type="checkbox"value="1"title="Allow TX on LoRa. Disable this if you like to prevent TX under all circumstances (i.e. if your tracker is behind an rx-amplifier)">
<inputname="lora_rx_en"id="lora_rx_en"type="checkbox"value="1"title="Allow RX on LoRa. Disable this if you need to save power consumption; LoRa chip will be only powered on during TX. Only honored if lora_digipeating_mode == 0 and no bluetooth client is connected on boot">
</div>
<div>
<labelfor="txPower">TX power [dBm]</label>
<inputname="txPower"id="txPower"type="number"min="0"max="23"title="LoRa TX Power. Range 0 to 23dBm">
</div>
<div>
<labelfor="lora_cradapt">Automatic CodeRate adaption on TX</label>
<inputname="lora_cradapt"id="lora_cradapt"type="checkbox"value="1"title="Enable automatic CR adaption. Has only influence on TX (RX can decode every CR). Use this only if you are not a WIDE1 or WIDE2 digi (here you like to send always with higher speed). Still testing, if it behaves good to our network. Currently works only for SF12 modes, because for SF 10 and lower the code for programming CR+SF+BW-combination has not been written yet">
</div>
<div>
<labelfor="aprs_blist">Filter src-calls or calls in digipath on receiption</label>
<inputtype="text"name="aprs_blist"id="aprs_blist"title="Filter out specified source calls or calls in digipath on receiption -> no repeating, no igate, not visible via kiss. They don't exist ;). List calls separated by ',': DL1AAA,DL1BBB'. This filters out DL1AAA without SSID AND with SSID. If you specify DL1AAA-1, only DL1AAA-1 is filtered out. If you specify DL1AAA-0 (special case), then only packets from DL1AAA are filtered out.">
</div>
</div>
<divclass="grid-container halves">
<div>
<labelfor="lora_rssi2p">Add SNR and RSSI to path. '*': only if heard direct (recommended for many usecases). '~': not recommended; better let user decide with Q-addressing</label>
<optionvalue="7">To RF and KISS and APRSIS (~)</option>
<optionvalue="8">To RF*</option>
<optionvalue="16">To KISS*</option>
<optionvalue="32">To APRSIS*</option>
<optionvalue="34">To APRSIS* and KISS (recommended with aprsdroid for or digis)</option>
<optionvalue="48">To APRSIS* and KISS* (recommended for digis)</option>
<optionvalue="42">To APRSIS* and RF* and KISS (recommended digis while testing)</option>
<optionvalue="56">To APRSIS* and RF* and KISS* (also a good setting!)</option>
<optionvalue="35">To APRSIS* and RF and KISS (~)</option>
<optionvalue="49">To APRSIS* and RF and KISS* (~)</option>
<optionvalue="57">!Too much options. GUI needs redisign!</option>
<optionvalue="9">!I.e. To RF* and RF would not make any sense!<option>
</select>
</div>
</div>
<divclass="grid-container halves">
More info for SNR/RSSI path encoding see documentation section below
<div>
<labelfor="snraprsis">SNR/RSSI-encoding on kiss: compatible to APRS-IS?</label>
<inputname="snraprsis"id="snraprsis"type="checkbox"value=1title="Add snr+rssi at last digipeater, without digipeated flag. Use this for APRS-IS connections. If you have connected a digipeater software to kiss, this option has to be switched off">
</div>
</div>
<divclass="grid-container full">
<h5class="u-full-width">Station Settings</h5>
@ -83,11 +190,11 @@
<divclass="grid-container quarters">
<div>
<labelfor="aprs_callsign">Callsign and SSID</label>
<inputclass="u-full-width"type="text"minlength="3" name="aprs_callsign"placeholder="NOCALL-1"id="aprs_callsign"title="your callsign with SSID">
<inputclass="u-full-width"type="text"minlength="3"maxlength="9"name="aprs_callsign"placeholder="NOCALL-1"id="aprs_callsign"title="your callsign with SSID">
</div>
<div>
<labelfor="aprs_relay_path">Relay Path</label>
<inputclass="u-full-width"type="text"minlength="0"name="aprs_relay_path"id="aprs_relay_path"title="APRS path, use the shortest as possible, ECHO or WIDE1-1">
<inputclass="u-full-width"type="text"minlength="0"name="aprs_relay_path"id="aprs_relay_path"title="APRS path, use the shortest as possible, ECHO, WIDE1-1 or WIDE2-1. If you really need a fill-in-digi, choose WIDE1-1,WIDE2-1. RFONLY or NOGATE must not be set in front of WIDEn-m. WIDE2-1,WIDE1-1 is not valid. The path with value '1' enables dest-path-digi-notation (like DL9SAU>APRS-1:..) instead of Path ..,WIDE1-1:... If you are a transmitting igate, please leave empty (or set it to Q. See below). About the SNR/RSSI-Path feature: You may request to add SNR/RSSI by adding 'Q' to your path (i.e. 'WIDE1-1,Q'; for transmitting igates (and balloons, aircrafts, ..), only 'Q' is recommended). Then only the first digi (or igate) adds SNR/RSSI to the path. If you add 'QQ' instead of 'Q' to your path (i.e. 'WIDE1-1,QQ'). Then every digi and igate adds SNR/RSSI to the path (useful for analyzing RF net quality). Use with care; resulting longer path consumes a bit more airtime.">
</div>
<div>
<labelfor="aprs_s_table">Symbol Table</label>
@ -95,16 +202,24 @@
</div>
<div>
<labelfor="aprs_symbol">Symbol</label>
<inputclass="u-full-width"type="text"minlength="1"maxlength="1"name="aprs_symbol"id="aprs_symbol"title="select an icon, for example: [ - jogger, Y - jacht, > - car, b - bike">
<inputclass="u-full-width"type="text"minlength="1"maxlength="1"name="aprs_symbol"id="aprs_symbol"title="select an icon, for example: [ - jogger, Y - jacht, > - car, b - bike">
</div>
<div>
<labelfor="aprs_alt">Show Altitude</label>
<inputname="aprs_alt"id="aprs_alt"type="checkbox"value="1"title=" show altitude as frame part">
</div>
<labelfor="aprs_alt_r">Altitude ratio [%]</label>
<inputname="aprs_alt_r"id="aprs_alt_r"type="number"min="0"max="100"title="Altitude ratio every n'th packet.. Use 100 for every packet, 0 for no altitude, or any number in between. Recommended: 10 (altitude every tenth's frame). If you use compression ('Send Course/Speed along with Altitude switched off') for reducing airtime (-> then n% altitude-encoding packets are sent, and 100-n% course/speed-encoded packets), you may choose 50 for ballons, where speed/dir and altitude are of equal interrest; if you choose 10, then 90 % of your transmissions encode speed/direction. Cave: if you set it to 100 and switch next option 'Send Course/Speed along with Altitude' to off, then only altitude packets are sent. If you configure 0, altitude is never sent (-> only compressed speed). If ratio is < 100 and gps altitude is not refreshed, only encoded speed is sent."placeholder="10">
</div>
<div>
<labelfor="aprs_CSandA">Send Course/Speed along with Altitude</label>
<inputname="aprs_CSandA"id="aprs_CSandA"type="checkbox"value="1"title="If set to on, course/speed and altitude are always sent both in one (larger) packet. If gps signal for course/speed is valid, cse/spd will be encoded in the compressed part and altitude is added as /A=...... in the message-part. If set off, either compressed cse/spd OR compressed altitude packets are sent, according to the 'Altitude ratio' setting.">
</div>
<div>
<labelfor="show_cmt">Show Comment</label>
<inputname="show_cmt"id="show_cmt"type="checkbox"value="1"title=" show comment text">
<inputname="aprs_comm_rt"id="aprs_comm_rt"type="checkbox"value="1"title="If enabled, comment text is sent only every tenth's transmission. Saves airtime.">
</div>
<div>
<labelfor="aprs_comment">Comment</label>
<inputclass="u-full-width"type="text"minlength="0"maxlength="64"name="aprs_comment"id="aprs_comment"title=" personal comment">
<inputname="tnc_tel_int"id="tnc_tel_int"type="number"min="10" title="time between sending telemetry if Enable Self Telemetry option is selected ">
<inputname="tnc_tel_int"id="tnc_tel_int"type="number"min="600" title="time between sending telemetry if Enable Self Telemetry option is selected.3600 is recommended. Min 600.">
<inputclass="u-full-width"type="text"minlength="0"name="tnc_tel_path"id="tnc_tel_path"title="APRS path for self telemetry, use the shortest as possible, ECHO or WIDE1-1">
<inputname="aprs_fb_interv"id="aprs_fb_interv"type="number"min="120"title="time between sending a beacon if Fixed Beacon option is selected ">
<inputname="aprs_fb_interv"id="aprs_fb_interv"type="number"min="120"title="time between sending a beacon if Fixed Beacon option is selected.1800 or 3600 is recommended for users; 900 or 1800 for digis. Min 120. This beacon value is also used if GPS is lost when smart-beacooning. If it is >= sb_max_intervall, this value is used.">
</div>
<div>
<labelfor="aprs_lat_p">Latitude Preset</label>
<inputclass="u-full-width"type="text"minlength="0"name="aprs_lat_p"id="aprs_lat_p"title="latitude for fixed bicon, APRS format for example: 5215.0N">
<labelfor="aprs_lat_p">Latitude</label>
<inputclass="u-full-width"type="text"minlength="0"name="aprs_lat_p"id="aprs_lat_p"title="latitude for fixed beacon, APRS format for example: 5215.00N. 'dd.nnnnS', '-dd.nnnn', 'dd mm[.nnn]' and 'dd mm ss' and 'dd mm' ss"' and 'dd-mm[.nn]N' are also supported. If position is south, you can prefix '-' instead of writing 'S' behind the coordinate. '-nnS' does not make sense. If you like to add a locator, add it here and leave longitude field blank. If GPS is enabled and a valid position has been received, that one will be used instead of the configured one, until the next system reboot">
</div>
<div>
<labelfor="aprs_lon_p">Longitude Preset</label>
<inputclass="u-full-width"type="text"minlength="0"name="aprs_lon_p"id="aprs_lon_p"title="longtitude for fixed bicon, APRS format for example 02050.59E">
<labelfor="aprs_lon_p">Longitude</label>
<inputclass="u-full-width"type="text"minlength="0"name="aprs_lon_p"id="aprs_lon_p"title="longtitude for fixed beacon, APRS format for example 02050.59E. 'ddd.nnnnS', '-ddd.nnnn', 'ddd mm[.nnn]' and 'ddd mm ss' and 'ddd mm' ss"' and 'ddd-mm[.nn]E' are also supported. If position is west, you can prefix '-' instead of writing 'W' behind the coordinate. '-nnW' does not make sense.. If you like to add a locator, add it to the latitude field and leave this field blank.">
<inputname="sb_angle"id="sb_angle"size="10"type="number"min="1"max="360"title="Angle of course change to speed up beacon transmission">
<inputname="sb_angle"id="sb_angle"type="number"min="5"max="360"title="Angle of course change to speed up beacon transmission. Recommended value: 28. Range 0 to 360.">
<inputname="sb_turn_slope"id="sb_turn_slope"type="number"min="5"max="255"title="Smart beaconing turn slope. Use 7 for pedestrian, 11 for low/mid speed and 26 for high speed. Recommended value: 26. Range 5 to 255.">
</div>
<div>
<labelfor="sb_turn_time">Turn Time [seconds]</label>
<inputname="sb_turn_time"id="sb_turn_time"type="number"min="5",title="Smart beaconing turn time. Wait at least this amount of seconds for next beacon. Recommended value: 30. Min 5.">
</div>
</div>
<divclass="grid-container quarters">
<div>
<labelfor="gps_enabled">GPS enabled</label>
<inputname="gps_enabled"id="gps_enabled"type="checkbox"value="1"title="enable or disable GPS">
</div>
</div>
<div>
<labelfor="kiss_myloc_ok">Accept own positions via KISS</label>
<inputname="kiss_myloc_ok"id="kiss_myloc_ok"type="checkbox"value="1"title="If set to true, we'll stop sending own position beacons if we heard a position from our call via kiss. Uncheck this, if you like to filter out those positions and keep sending it by this device.">
</div>
<div>
<labelfor="gps_sleep_ok">Allow GPS sleep while own positions received via KISS</label>
<inputname="gps_sleep_ok"id="gps_sleep_ok"type="checkbox"value="1"title="If we have a kiss client like aprsdroid, or a digipeater software, which sends own positions (with same call as ours), we pause sending own positions (neither fixed nor smart beaconing). Uncheck, if you have a display attached and still like to see your current GPS position. This option is only honored if configuration 'Accept own positions via KISS' enabled. Why? If your filter out own positions from and this device sends on it's own, it needs gps running ;)">
</div>
</div>
<divclass="grid-container full">
<h6class="u-full-width">Additional settings for secondary frequency:<br/>EXPERIMANTAL - USE WITH CARE!</h6>
</div>
<divclass="grid-container halves">
<div>
<labelfor="lora_freq_x">Secondary Frequency [MHz]</label>
(for cross-repeating or listening transmissions from igates)</label>
<inputname="lora_freq_x"id="lora_freq_x"type="number"min="0.0000"max="928.0000"step="0.0001"title="LoRa center frequency - must be different from main frequency and between 433.0001 and 928.0000 or 0 if not needed. I.e. 433.900">
</div>
<div>
<labelfor="txPower_x">TX power on secondary frequency [dBm]</label>
<inputname="txPower_x"id="txPower_x"type="number"min="0"max="23"title="LoRa TX Power on secondary frequency. Range 0 to 23dBm">
</div>
</div>
<divclass="grid-container halves">
<div>
<labelfor="lora_speed_x">Speed on secondary frequency</label>
<selectid="lora_speed_x"name="lora_speed_x">
<optionvalue="1200">BW 125khz CR 4:7 SF 9 (Fast Standard. default; use high speeds on the secondary frequency)</option>
<optionvalue="610">BW 125khz CR 4:8 SF 10 (610bps)</option>
<optionvalue="300">BW 125khz CR 4:5 SF 12 (300bps)</option>
<optionvalue="240">BW 125khz CR 4:6 SF 12 (244bps)</option>
<optionvalue="210">BW 125khz CR 4:7 SF 12 (209bps)</option>
<optionvalue="180">BW 125khz CR 4:8 SF 12 (183bps)</option>
</select>
</div>
</div>
<divclass="grid-container halves">
<div>
<labelfor="rx_qrg">RX on frequencies</label>
(Only honored, if we are NOT configured as WIDE1 or WIDE2 digi. If set to both frequencies: Ratio depends on how many packets are received on each qrg in a 10min window; we stay 20s on one qrg.)
<selectid="rx_qrg"name="rx_qrg">
<optionvalue="1">RX on main frequency</option>
<optionvalue="2">RX on secondary frequency</option>
<inputname="aprsis_en"id="aprsis_en"type="checkbox"value="1"title="If we are configured as WIFI client, connet to the APRS-IS net">
</div>
<div>
<labelfor="aprsis_srv_h">Server Name</label>
<inputtype="text"name="aprsis_srv_h"id="aprsis_srv_h"placeholder="euro.aprs2.net"title="Server name or IP Address. I.e. euro.aprs2.net. If your igate is in the HAMNET, use aprs.hc.r1.ampr.org">
</div>
<div>
<labelfor="aprsis_srv_p">TCP Port</label>
<inputtype="number"name="aprsis_srv_p"id="aprsis_srv_p"placeholder="14580"min="1"max="65535"title="TCP Port, i.e. 14580">
<inputtype="text"name="aprsis_call"id="aprsis_call"minlength="3"maxlength="9"title="Use this callsign for the APRS-IS connection. If not configured, your default callsign is used."placeholder="may be left blank">
</div>
<div>
<labelfor="aprsis_pw">Password (required)</label>
<inputtype="password"name="aprsis_pw"id="aprsis_pw"title="Your password for the APRS-IS connection.">
</div>
<div>
<labelfor="aprsis_fltr">Filter (optional)</label>
<inputtype="text"name="aprsis_fltr"id="aprsis_fltr"title="Request server-site filter (may be left empty). See http://www.aprs-is.net/javAPRSFilter.aspx ; Example: 't/mqs/YOURCALL/50' -> Gate only messages, query and status messages to RF, from a circle of 50km around your last known position. w, o and i may be of interest, but some people on 2m APRS or APRS-IS may send those packets much too frequently. Please trace the effect! Perhaps in combination with '-e/DB0FRI-10'. In our case, the digi positioning beacon from DB0FRI-10 (which is also an igate nearby, APRS-IS path qAI,DB0FRI-10) came from APRS-IS to us and we gated his beacon, encoded as third-party-trafffic, back to RF (which makes no sense: 1. His direct RF beacon is much better heard than ours -> all RF users heard it. 2. We needless consumed airtime). -> Using -e/IGATE1/IGATE2/.. , everything heard (and sent to APRS-IS) by our neighbor igates like DB0FRI-10 will not be re-gated by us. Please also check, if '-d/..' instead of (or additional to) '-e/..' is more suitiable in your environment; you may also consider -/b/.. ."placeholder="may be left blank">
</div>
<div>
<labelfor="tx_aprsis_sm">Send status-message to APRS-IS</label>
<inputname="tx_aprsis_sm"id="tx_aprsis_sm"type="checkbox"value="1"title="Send APRS-status-message about new tcp connectioni, -attepts or your requested shutdown/reboot to APRS-IS. This helps you to trace reboots and unexpected loss of wifi- or internet-access.">
</div>
<div>
<labelfor="tx_aprsis_bc">Allow send our beacon to APRS-IS</label>
<inputname="tx_aprsis_bc"id="tx_aprsis_bc"type="checkbox"value="1"title="Allow sending our beacon from this device or from KISS to APRS-IS. You may like to disable this i.e. if you are a portable hotspot together with your tracker, but others already gate your own packets to APRS-IS -> you'll see at APRS-IS who heard you.">
</div>
<div>
<labelfor="aprsis_2rf">Gate APRS-IS traffic to frequencies</label>
(Will be '3rd-party encoded'. Be careful - do not flood our slow main frequency! Use filters..)
<selectid="aprsis_2rf"name="aprsis_2rf">
<optionvalue="0">Don't gate APRS-IS to RF (default)</option>
<optionvalue="1">Gate to main frequency</option>
<optionvalue="2">Gate to secondary frequency</option>
<optionvalue="3">Gate to both frequencies</option>
<inputname="oled_enabled"id="oled_enabled"type="checkbox"value="1"title="Enables or disables OLED">
</div>
</div>
<div>
<labelfor="bt_enabled">Bluetooth enabled</label>
<inputname="bt_enabled"id="bt_enabled"type="checkbox"value="1"title="enable or disable bluetooth">
</div>
</div>
<!--
<div>
<labelfor="logserial_en">Serial Logging</label>
<inputname="logserial_en"id="logserial_en"type="checkbox"value="0"title="Enable or disable verbose logging on usb-serial port. If disabled, KISS-receive and KISS-send is disabled on usb-serial.">
<optionvalue="2">3. Trace packets from LoRa (TNC-trace-format)</option>
<optionvalue="3">4. 2) and 3)</option>
<optionvalue="4">5. No KISS, no logging, no tnc-trace.</option>
</select>
</div>
<div>
<labelfor="led_enable">LED signaling</label>
<inputname="led_enable"id="led_enable"type="checkbox"value="1"title="enable or disable LED"DISABLED>
</div>
<inputname="led_enable"id="led_enable"type="checkbox"value="1"title="enable or disable LED (not implemented)"DISABLED>
</div>
</div>
<divclass="grid-container quarters">
<div>
<labelfor="cpufreq">Adjust CPU frequency (MHz)</label>
<inputname="cpufreq"id="cpufreq"type="number"min="0"max="250"title="Reduce CPU freq for power consumption (up to 20 % less). Use with extreme care! Tested with value 80. 0 means: no change to power-on-state."placeholder="0">
</div>
<div>
<labelfor="reboot_intrvl">Reboot every n hours</label>
<inputname="reboot_intrvl"id="reboot_intrvl"type="number"min="0"max="1193"title="Do a periodical reboot every n hous. 0 = disable. Range 0 to 1193"placeholder="0">
</div>
<div>
<labelfor="shutdown_act">Auto power off</label>
<inputname="shutdown_act"id="shutdown_act"type="checkbox"value="1"title="activate auto shutdown after usb plug off (not for T-BEAM 0.7)">
</div>
</div>
<inputname="shutdown_act"id="shutdown_act"type="checkbox"value="1"title="activate auto shutdown after usb plug off (not for T-BEAM 0.7). The power off the device will be switched off.">
</div>
<div>
<labelfor="shutdown_dt">Auto power off delay [s]</label>
<inputname="shutdown_dt"id="shutdown_dt"type="number"min="3"max="3600"title="auto shutdown delay in seconds. Range 3 to 3600.">
</div>
</div>
<divclass="grid-container quarters">
<div>
<labelfor="sh_rxtime">Display show RX time [s]</label>
<inputname="sh_rxtime"id="sh_rxtime"type="number"min="0"max="45"title="show RX packet for seconds">
</div>
<inputname="sh_rxtime"id="sh_rxtime"type="number"min="0"max="45"title="show RX packet for seconds, refresh rate for OLED. Range 0 to 45.">
<inputname="sh_oledtime"id="sh_oledtime"type="number"min="0"max="60"title="Turn OFF OLED after X seconds. Set 0 to disable">
<inputname="sh_oledtime"id="sh_oledtime"type="number"min="0"max="60"title="Turn OFF OLED after X seconds. Set 0 to disable (constantly active OLED has a refresh rate of 1s. Range 0 to 60.">
</div>
<div>
<labelfor="UptimeMinutes">Uptime of Device [min]</label>
<inputtype="text"name="UptimeMinutes"id="UptimeMinutes"readonlytitle="uptime device in minutes">
</div>
</div>
<divclass="grid-container halves">
<div>
<labelfor="shutdown_dt">Auto power off delay [s]</label>
<inputname="shutdown_dt"id="shutdown_dt"type="number"min="3"max="3600"title="auto shutdown delay in seconds">
</div>
</div>
<labelfor="curPos">Current Position</label>
<inputtype="text"name="curPos"id="curPos"readonlytitle="Current Postition of device [P if preset; p, if gps is invalid and used as temporary preset]">
<inputtype="text"name="OledLine5"id="OledLine5"readonlytitle="Satellite (#Sats/HDOP) [more sats are good, lowest HDOP is best. Should be < 8], and Batt Info [B means Battery; P means external pwr. Positive current is battery-charge-current, while prefixed with 'B', and battery voltage shown.]">
<ul><li>Left button (nearby USB-port): if long-pressed, your device will powered off (press 7s), or is switched on again (2s).</li></ul>
<ul><li>Right button (lateral): short-press reboots your device (restarts the CPU).</li></ul>
</div>
<div>
</div>
<divclass="grid-container full">
<h5class="u-full-width">Tips for reducing power (Usage as tracker only):</h5>
</div>
<div>
WiFi OFF<br/>
<ul>
<li>be aware, that aprs-is connection depends on the Webserver and will stop working).</li>
<li>select option 0 to disable WiFi & APRS-IS</li>
<li>select option 1 to disable WiFi if a bluetooth client is connected in between 60s on boot (recommended for portables, and for LORA32_21 devices)</li>
</ul>
LoRa Receiver OFF:<br>
<ul>
<li>reduces power consumption, if you just use the device as a tracker</li>
</ul>
Fixed Beacon off:<br>
<ul>
<li>Smart Beaconing is activated, if there is no fixed beacon</li>
<li>first, the SSID which is configured via the WebSiet will be searched</li>
<li>second, if that SSID is not found, the WiFi configured in data/wifi.cfg will be searched</li>
<li>third, if that SSID is also not found, a local accesspoint with the SSID "call AP" will be created. After connected to, this Webserver will be reachable with the IP Address 192.168.4.1</li>
</ul>
data/wifi.cfg<br>
<ul>
<li>wifi.cfg in the directory data contains an SSID and password of the AP for the second try described above</li>
<li>the total length of this file must not exceed 256 Byte. The password must not be shorter that 8 byte. The json structure must not be changed</li>
<li>if something is wrong or the file is missing, the complete file will be ignored and step 2 (above) will be skipped</li>
<li>To upload wifi.cfg to your board you have to do this via Upload File System image in PlatformIO!</li>
<li>To find the 'Upload File System image' click the PlatformIO symbol (the little alien) on the left side, choose your configuration, click on 'Platform' and search for 'Upload File System image'. If you use platformio-cli, upload the filesystem as described below.</li>
</ul>
Platform.IO CLI<br>
<ul>
<li>if your computer is a raspberry PI3 or if you do not want/need the overhead of the Platfrom.IO GUI, you can use the CLI</li>
<li>you can find it <ahref="https://docs.platformio.org/en/latest/core/installation/methods/installer-script.html">here</a></li>
<li>usefull commands, if the board is connected to the PI via USB:</li>
<li>Clean all of project compilation: ~/.platformio/penv/bin/pio run -e [board identifier] -t cleanall --upload-port /dev/[port]</li>
<li>Compile and Upload Firmware: ~/.platformio/penv/bin/pio run -e [board identifier] -t upload --upload-port /dev/[port]</li>
<li>start serial monitor: ~/.platformio/penv/bin/pio device monitor -p /dev/[port] -b 115200</li>
<li>all the commands above executed in that order, will completely erase the board, compile and upload the filesystem, compile and upload the current firmware, reboot the board and start the serial monitor</li>
<li>if a precompiled fw should be uploaded, without compilation, use the nobuild switch:<br/>
~/.platformio/penv/bin/pio run -e ttgo-t-beam-v1.0-development -t nobuild -t upload --upload-port /dev/ttyACM0</li>
</ul>
</div>
</article>
<article>
<divclass="grid-container full">
<h5class="u-full-width">Hardware notices</h5>
</div>
<div>
<h6class="u-full-width">TTGO LoRa32 V2.1 (aka T3 V1.6.1)</h6>
Hardware limitation: if bluetooth is enabled and BT-client is connected, WIFI (-> Web-Server) does not work anymore.<br/>
You'll see the red LED while booting turned on for 60s as indicatior for waiting for BT-clients.
Hack: firmware compiled with -e ttgo-lora32-v2.1 and bluetooth configuration variable is set to enabled, now listens on boot up to one minute for your bluetooth device to connect.<br/>
If a bluetooth device connects, it does not start the Web-Server. Else, it closes SerialBT port and starts the Web-Server on LORA32_21 devices.<br>
See also: new feature for switching WIFI off (i.e. if you use the device as portable tracker), if you don't need it: Webserver eats abt 80mA..<br>
How to switch the Webserver on again, please read the long-press button (GPS) section.
</div>
</article>
</section>
</div>
<footer>
<center><b>Contributors in order of appearance:</b><br> OE1ACM, OE3CJB, SQ9MDD, SQ5RWU, DJ1AN, M0IGA, SQ5WPR, DO2JMG, SP6VWX, SQ2WB, IU2FRL, DO3BOX, US1GHQ</center>
- How to program **AXP20x_Library** with ESP-IDF [ESP_IDF_AXP20x_Library](https://github.com/lewisxhe/ESP_IDF_AXP20x_Library)
- The `setPowerOutPut` function has forced DCDC3 to be turned on and cannot be controlled because T-Watch uses DCDC3 as the esp32 to power the main chip. If it is turned off, the hardware cannot be programmed.
TTGO invests time and resources to provide this open source code, please support TTGO and open source hardware by purchasing products from TTGO!
Written by Lewis He for TTGO. MIT license, all text above must be included in any redistribution