From 8295933854f45e48102e9162ffabf9fd9ed98312 Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Fri, 13 Mar 2026 15:21:35 -0700 Subject: [PATCH 01/13] flmsg - Added missing test to test suite --- tests/test-flmsg.sh | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100755 tests/test-flmsg.sh diff --git a/tests/test-flmsg.sh b/tests/test-flmsg.sh new file mode 100755 index 0000000..65a417b --- /dev/null +++ b/tests/test-flmsg.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# Author : Gaston Gonzalez +# Date : 13 March 2026 +# Purpose : Test flmsg installation + +OUT=$(which flmsg) +exit $? From 18848ad06996fb1a90f9ef4a03f6d5729a80d700 Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Fri, 13 Mar 2026 15:52:23 -0700 Subject: [PATCH 02/13] flmsg - Added baseline flmsg configuration and AmRRON version 5.0 forms from November 27, 2024 --- .../CUSTOM/amrron_blank_Form_V5.00.html | 145 +++++ .../.nbems/CUSTOM/amrron_sitrep_V5.00.html | 190 +++++++ .../.nbems/CUSTOM/amrron_spotrep_V5.00.html | 171 ++++++ .../.nbems/CUSTOM/amrron_statrep_V5.00.html | 495 ++++++++++++++++++ .../.nbems/CUSTOM/amrron_statrep_V5.1.html | 352 +++++++++++++ overlay/etc/skel/.nbems/FLMSG.prefs | 60 +++ tests/test-flmsg.sh | 2 +- 7 files changed, 1414 insertions(+), 1 deletion(-) create mode 100644 overlay/etc/skel/.nbems/CUSTOM/amrron_blank_Form_V5.00.html create mode 100644 overlay/etc/skel/.nbems/CUSTOM/amrron_sitrep_V5.00.html create mode 100644 overlay/etc/skel/.nbems/CUSTOM/amrron_spotrep_V5.00.html create mode 100644 overlay/etc/skel/.nbems/CUSTOM/amrron_statrep_V5.00.html create mode 100644 overlay/etc/skel/.nbems/CUSTOM/amrron_statrep_V5.1.html create mode 100644 overlay/etc/skel/.nbems/FLMSG.prefs diff --git a/overlay/etc/skel/.nbems/CUSTOM/amrron_blank_Form_V5.00.html b/overlay/etc/skel/.nbems/CUSTOM/amrron_blank_Form_V5.00.html new file mode 100644 index 0000000..c192a64 --- /dev/null +++ b/overlay/etc/skel/.nbems/CUSTOM/amrron_blank_Form_V5.00.html @@ -0,0 +1,145 @@ + + + + + +AmRRON Blank Form 5.00 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

AmRRON Blank Form +
+ v5.00 Use this form to report or announce general information that does not belong on a SitRep or StatRep. + +
+ **Sample file naming protocol: "CALL-ST-RR-YYMMDD-HHMMZ-REPORT"** + + + + +

+ 1. To: (Recipient)
+ +
+ 2. From: (Sender)
+ +
+
+
+ 3. Message Precedence:
+
+ +
+ 4. DTG: (YYMMDD-HHMMZ)
+ +
+
+
+ 5. Subject: (Short description of topic)
+ +
+
+
+ + + + + + + + + + + + + + + + +
6. Message: (Enter message.)
+ +
End of Report
+ Revised 20231031 PRW
+
+
+

 

+ + + + + + + + + + +

+ Instructions

+ +
    +
    + + +
  1. TO (Recipient): + Who or what group is being addressed.
  2. +
  3. FROM (Sender): + + Your FCC Call Sign.
  4. +
  5. Message Priority: + Select option which best reflects priority or urgency.
  6. + +
  7. Date/Time Group: + YYMMDD-HHMMz.
  8. + +
  9. Subject: + Subject or topic of message.
  10. + + +
  11. Message: Message to be transmitted.
  12. + + +
    + +
+
+ + + \ No newline at end of file diff --git a/overlay/etc/skel/.nbems/CUSTOM/amrron_sitrep_V5.00.html b/overlay/etc/skel/.nbems/CUSTOM/amrron_sitrep_V5.00.html new file mode 100644 index 0000000..fe839f6 --- /dev/null +++ b/overlay/etc/skel/.nbems/CUSTOM/amrron_sitrep_V5.00.html @@ -0,0 +1,190 @@ + + + + + +AmRRON Situation Report (SitRep) 5.00 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

AmRRON Situation Report (SitRep) +
+ v5.00 Use this form to report or update a situation or event in a specified location or region based on personal or reliable sources. +
+ Sample file naming protocol: "CALL-ST-RR-YYMMDD-HHMMZ-REPORT" + + + +

+ 1. To: (Recipient)
+ +
+ 2. From: (Sender)
+ +
+
+
+ 3. Message Precedence:
+
+ +
+ 4. State (ST): (State)
+ +
+
+
+ 5. Grid: (Of reported location)
+ +
+
+
6. + Size and Scope:
+
+ 7. DTG: (YYMMDD-HHMMz)
+ +
+
+
+ 8. Expiration: (YYMMDD-HHMMz)
+ +
+
+
9. + Status: (Incident Status)
+
+ + + + + + + +
10. Narrative: (Concisely describe the situation)
+ +
End of Report
+ Revised 20231024 PRW
+
+
+

 

+ + + + + + + + + + +

+ Instructions

+ +
    + + + +
  1. TO (Recipient): + Who or what group is being addressed.
  2. +
  3. FROM (Sender): + + Your FCC Call Sign.
  4. +
  5. Message Precedence: + Select option which best reflects priority or urgency.
  6. + +
  7. State: + 2 letter abbreviation of the State for which the StatRep is referring. (ST)
  8. + +
  9. Grid: + Maiden Head grid of location being reported. If a more specific location is required, note it in section 11 "Narrative".
  10. + +
  11. Size and Scope: + Select “Local,” “Regional,” + , “National,” or “Unknown” + to reflect size and scope of the event.
  12. + + + + +
  13. DTG: + YYMMDD-HHMMz.
  14. + +
  15. Expiraton DTG: + YYMMDD-HHMMz.
  16. + + +
  17. Status: + Select “New,” “Ongoing,” + , “Resolved,” or “Unknown” + to reflect the status of the event.
  18. + + + + + +
  19. Narative: + This is the "meat and potatoes" of the SitRep. Describe in the shortest most concise report possible.
    +
    +
  20. +
+
+ + + \ No newline at end of file diff --git a/overlay/etc/skel/.nbems/CUSTOM/amrron_spotrep_V5.00.html b/overlay/etc/skel/.nbems/CUSTOM/amrron_spotrep_V5.00.html new file mode 100644 index 0000000..83f9d24 --- /dev/null +++ b/overlay/etc/skel/.nbems/CUSTOM/amrron_spotrep_V5.00.html @@ -0,0 +1,171 @@ + + + + AmRRON Spot Report V5.00 + + + + + + + + + + + + + + + + + +
AmRRON + SPOT REPORT 5.00
+ The Spot Report is a guide to assist with reporting threatening or potentially threatening activity that you or someone you know have observed. Designed as a tool to aid soldiers in reporting observed enemy activity, this can be adapted to report criminal activity, invading military forces, or forces of an oppressive regime. This is a combination of two reporting formats (SALUTE & 5W's). Fill everything out as soon and as accurately as possible. +
+
+ S - ize
+ A - ctivity
+ L - ocation
+ U - nit
+ T - ime
+ E - quipment
+ Who
+ What
+ Where
+ When
+ Why
+ How (How Many)
+
+
+ + + + + + + + + + + + +
[1] TO: (Recipient)
+ +
+ [2] FROM: (Sender)
+ +
+
+
[3] + PRECEDENCE:
+
+ +
[4] Current + DTG: (YYYYMMDD-HHMMZ Use UTC)
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
S +
[5] + Size (Platoon? Battalion? #Vehicles + #Persons)
+ +
A
[6] + Activity (Convoy, Checkpoint, Patrol, + Cordon, Training, Interrogation, Relocating/evacuating Citizens, Etc)
+ +
L
[7] + Location (GPS/Grid Coord, address, + road name/#, Direction, proximity to landmarks, nearest town, etc.)
+ +
U
[8] + Unit (Domestic/Foreign, Police, Military, + branch, guard/reserve, Unit Designation, civ supt, volunteer, etc.)
+ +
T
[9] + Time & Duration (Time/Date Group: + Yr mo date 24hr-time eg. 20131117 0930 Mtn/Pcfc/Zulu/etc.)
+ +
E
[10] + Equipment (Weapons, equip, supplies, + vehicles, armor, etc.)
+
[11] + Narrative/Comments:
+ +
End of + Report
+ AFR-100 REV 20160707
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Who Who are you (Code name)? Did you witness this yourself? Who did? Is this person credible/reliable? +Who did you speak with? Who told you this? Did you get his/her contact information? +
What What happened? What did you see? What did you hear? What did they say to you? What was the end result? (CREATE A TIMELINE, in Chronological Sequence)
Where Same as 'L' (Location) in the SALUTE report. Where did this happen/is this located? What direction? Location of first and last observation?
When Same as 'T' (Time) in the SALUTE report. Time/Date and duration.
Why Explanation given for activity (yours & theirs), if any. Why were you there and why did you have access to this event/information? (Passerby, Observed, participated, solicited, coerced, detained, etc.)
How/How Many + How do you know? How did they treat you? How did you react? How were they carrying out this activity? +How many people, trucks, tents, crates, trailers, antennas, backpacks, etc. +
+ + diff --git a/overlay/etc/skel/.nbems/CUSTOM/amrron_statrep_V5.00.html b/overlay/etc/skel/.nbems/CUSTOM/amrron_statrep_V5.00.html new file mode 100644 index 0000000..98e2775 --- /dev/null +++ b/overlay/etc/skel/.nbems/CUSTOM/amrron_statrep_V5.00.html @@ -0,0 +1,495 @@ + + + + + +AmRRON Status Report 5.00 + + + +
+ + + + + + + + + + + + + + + + + + + +

AmRRON Status Report +
+ v5.00 Use this form to report general conditions at a specified location or region based on personal or reliable sources. +
+ Sample file naming protocol: "CALL-ST-RR-YYMMDD-HHMMZ-REPORT" +

+ 1a. To: (Recipient)
+ +
+ 1b. From: (Sender)
+ +
+
+
+ 2. Size and Scope:
+
+ +
+ 3. DTG: (YYMMDD-HHMMz)
+ +
+
+
+ 4. State: (State)
+ +
+
+
+ 5. Grid: (Of reported locaton)
+ +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
6. + Map Pin:
+
7. + Commercial Power:
+
8. Public Water:
+
9. + Medical:
+
10. + Over Air Comms: +
+ +
11. Travel Conditions:
+ +
12. + Internet:
+ +
13. + Fuel:
+ +
14. Food:
+ +
15. Criminal Activity:
+ +
16. + Civil:
+ +
17. Political: +
+ +
+ + + + + + + +
18. Brief remarks: (If reporting conditions other than your own location, enter the City and State before any remarks.)
+ +
End of Report
+ Revised 20231024 PRW
+
+
+

 

+ + + + + + + + + + +

+ Instructions

+ +
    + Green: + Category or service is available, and/or not deviating from the norm.
    + + + Yellow: + Interruption expected, Moderate, Caution, Not Ideal relative to the norm.
    + + + Red: + Complete disruption of service or disastrous condition of service or functionality, and failure relative to the norm.
    + + Unknown: + Unknown, Unable to determine, Information not available

    + + +
  1. TO (Recipient): + Call sign, unit, or party intended to be the recipient.
  2. + FROM (Sender): + + Call sign, unit, or party generating the report. +
  3. Message Precedence: + Select option which best reflects priority or urgency.
  4. +
  5. + DTG (Date Time Group): + YYMMDD-HHMMz. (Example: 230929-0100z) + .
  6. + +
  7. State: + 2 digit abbreviation of the State for which the StatRep is referring.
  8. + +
  9. Grid: + Maiden Head grid of location being reported.
  10. + + +
  11. Map Pin: Should reflect the most degraded (yellow or red) category in your STATREP, to reflect partial or total disruption in one of the categories/services. If reporting a location other than your own, include the City and State in the remarks field.
  12. + + +
  13. Commercial Power: + Select “Green,” “Yellow,” + , “Red” or “Unknown” + to reflect status electrical grid in the location you are reporting. +
  14. + Green: + indicates commercial power is up at time of report.
    + + + Yellow: + indicates intermittent or expected outages.
    + + Red: + indicates loss of commercial power at the time of the report.
    + + Unknown: + indicates condition unknown. + +
  15. Public Water: + Select “Green,” “Yellow,” + , “Red” or “Unknown” to describe status of public water utilities.
  16. + + Green: + indicates public water is available at the time of the report.
    + + + Yellow: + indicates water is available, but treatment, boiling, or other method is necessary to make water safe to drink.
    + + Red: + indicates total disruption of public water at the location being reported, at the time of the report.
    + + Unknown: + indicates condition unknown. + + + +
  17. Medical: + Select “Green,” “Yellow,” + , “Red” or “Unknown” to describe availability of medical support. Doctors, hospitals, etc.
  18. + + Green: + indicates all normal medical services are available and functional.
    + + + Yellow: + indicates some disruptions from the community norm. For example, clinics and hospitals are open, but no ambulance services. Clinics may be closed requiring traveling farther distances to clinics which are operating normally. Or services/facilities available, but overwhelmed and long wait times due to shortage of staff or mass casualty care.
    + + Red: + indicates total disruption of medical services, with confirmed reports that clinics and hospitals are not available or functioning..
    + + Unknown: + indicates condition unknown. + + +
  19. Over Air Comms: + Select “Green,” “Yellow,” + , “Red” or “Unknown”to describe availability of public communications such as Cellphone, TV and radio.
  20. + + Green: + indicates all services are functioning as normal. Any over-air comms which is functioning as normal. Your local radio or TV station may sign off at midnight every night. This is normal, and not a disruption, and this category would be green.
    + + + Yellow: + may indicate some but not all are disrupted, or expected to be disrupted in the near future. For example, two radio stations may be off the air, but two others remain operational. You may experience your nearest cell tower is not functional, but you’re able to drive down the road a mile and connect to a different cell tower.
    + + Red: + indicates the total disruption of service to one or more. +(You may specify Cell, TV, Radio) in Field #18 ‘Brief Remarks’) .
    + + Unknown: + indicates condition unknown. + + + +
  21. Travel Conditions: + Select “Green,” “Yellow,” + , “Red” or “Unknown” to describe ability for road travel and transport of goods at reported location.
  22. + + Green: + indicates no disruptions, damage, or obstacles to travel. No deviation from the norm..
    + + + Yellow: + indicates some disruptions to the ability to travel, deviating from the norm. Not ideal. However, remediation methods or alternate routes available. Not prevented from travel if needed. For example, trees down in the road, but able to be cleared with chainsaws and/or winches. Deep, heavy snow may slow travel. A bridge may be out, but with multiple alternative routes. Law enforcement checkpoints or road construction may cause significant delays, but roads are passable.
    + + Red: + Unable to travel due to conditions, or unable to reach intended destination. Indicates significant disruption in the ability to travel by road. Significant deviation from the norm. .
    + + Unknown: + indicates condition unknown. + +
  23. Internet: + Select “Green,” “Yellow,” + , “Red” or “Unknown” to describe availability of internet service at reported location.
  24. + + + Green: + indicates internet functional as normal.
    + + + Yellow: + indicates a deviation from the norm or disruptions are expected. For example, your internet service provider (ISP) is unavailable, but you still have cellular data access to the internet (or visa versa). Your ISP may alert you of limited fuel for their backup generator and to expect service to be disrupted at some point.
    + + Red: + indicates complete loss of internet connectivity, with no workaround or alternative available..
    + + Unknown: + indicates condition unknown. + +
  25. Fuel: + Select “Green,” “Yellow,” + , “Red” or “Unknown”to describe the availability of fuel (gasoline, diesel, propane, etc) in the reported area..
  26. + + Green: + indicates no disruptions in availability of fuel, or otherwise no deviation from the norm. .
    + + + Yellow: + indicates some disruptions to normal availability. May include delayed shipments, panic buying resulting in long wait lines, or fuel stations may only be accepting cash due to credit card service disruptions, etc.
    + + Red: + indicates total disruption of fuel supply, or fuel contaminated. Fuel unavailable or no resupply is expected. +(Affected fuel type may be listed in Block #18 ‘Brief Remarks’, especially if other fuels unaffected).
    + + Unknown: + indicates condition unknown. + +
  27. Food Availability: + Select “Green,” “Yellow,” + , “Red” or “Unknown” to describe the availability of food at the reported location.
  28. + + Green: + indicates no food supply disruptions outside the norm.
    + + + Yellow: + indicates some disruptions compared to normal food availability. Nobody will starve, but disruptions are noticeable. For example, empty store shelves of a particular kind of food, but adequate supply of alternatives or other kinds of food. Perhaps there are no beans and no hamburger, but there is canned chili. Perhaps there is a recall of a certain brand, but there are alternatives. Your local grocery store cannot be resupplied, but the local farmers market has abundant food supply. This is a report of food availability coming in to your community, not your personal food storage.
    + + Red: + Normal food supply is disrupted, complete deviation from the norm. Example: store shelves are empty(ing), at the time of the report, and/or no resupply expected, or food dangerously tainted (radioactivity, spoilage, etc.). .
    + + Unknown: + indicates condition unknown. + +
  29. Criminal Activity: + Select “Green,” “Yellow,” + , “Red” or “Unknown” to describe the level of criminal activity in the reported location.
  30. + + Green: + indicates very low or no criminal activity. Community activities continue as normal. Adequate security/law enforcement.
    + + + Yellow: + indicates increased criminal activity, deviating from the community norm. May also indicate anticipated increase in criminal activity, due to lack of security/law enforcement, social unrest or social group agitation indicators, an expected court decision, the new presence of groups associated with criminal activity, etc. .
    + + Red: + indicates sharp increase in crime, significantly deviating from the norm, resulting in major disruptions in normal community activity. Citizens sheltering in place or unable to travel and/or businesses closing due to criminal activity, and law enforcement inadequate or unavailable to stop or deter crime.
    + + Unknown: + indicates condition unknown. + +
  31. Civil: + Select “Green,” “Yellow,” + , “Red” or “Unknown” to describe the mindset and actions of the general population at the reported location.
  32. + + Green: + No deviation from the norm. Generally stable civil and peaceful in the community.
    + + + Yellow: + Unrest or limited agitation. Mostly civil with some outbursts expressing grievances.
    + + Red: + Extreme agitation among the civilian populace. Civilian population resorting to civil unrest, refusing to follow instructions from local law enforcement, confrontational, and may include riots or targeting of political, ethnic, or ideological adversaries. .
    + + Unknown: + indicates condition unknown. + +
  33. Political: + Select “Green,” “Yellow,” + , “Red” or “Unknown” to describe the mindset and actions of politicians at the reported location.
  34. + + Green: + indicates no deviation from the norm, peaceful competition between ideologies, and no overt corruption. Legitimacy of political positions, or lawfulness of political procedures and processes not in question.
    + + + Yellow: + indicates signs of hostility between ideologies, and/or articulable suspicion of corruption or questionable practices; lawfulness of political procedures and process in question.
    + + Red: + indicates overt political corruption or unlawful procedures and processes, conducted under the color of law, or; instability due to abrupt violent or non-violent changes in government offices or administrative positions, or; a coup, or; no apparent functioning government body and/or administrative services – no one is in charge. .
    + + Unknown: + indicates condition unknown. + +
  35. Brief "NECESSARY" clarifying remarks: + For brevity this space is typically blank. If necessary to add text please keep it succinct. If significant details are required, submit a separate SitRep. If this SitRep is reporting on a location other than your own, include the City and State in these remarks
    +
    +
  36. +
+
+ + + \ No newline at end of file diff --git a/overlay/etc/skel/.nbems/CUSTOM/amrron_statrep_V5.1.html b/overlay/etc/skel/.nbems/CUSTOM/amrron_statrep_V5.1.html new file mode 100644 index 0000000..95234ee --- /dev/null +++ b/overlay/etc/skel/.nbems/CUSTOM/amrron_statrep_V5.1.html @@ -0,0 +1,352 @@ + + + + + +AmRRON Status Report 5.1 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +

AmRRON Status Report +
+ v5.1 Use this form to report general conditions at a specified location or region based on personal or reliable sources. +
+ Sample file naming protocol: "CALL-ST-RR-YYMMDD-HHMMZ-REPORT" + +

+ 1a. To: (Recipient)
+ +
+ 1b. From: (Sender)
+ +
+ 2. Size and Scope:
+
+ + +
+ 3. DTG: (YYMMDD-HHMMz)
+ +
+ 4. State: (State)
+ +
+ 5. Grid: (Of reported locaton)
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
6. Map Pin:
+ +
7. Commercial Power:
+ +
8. Public Water:
+ +
9. + Medical:
+ +
10. Over Air Comms: +
+ +
11. Travel Conditions:
+ +
12. Internet:
+ +
13. Fuel:
+ +
14. Food:
+ +
15. Criminal Activity:
+ +
16. Civil:
+ +
17. Political:
+ +
+ + + + + + + + + + +
18. Brief remarks: (If reporting conditions other than your own location, enter the City and State before any remarks.)
+ +
End of Report
+ Revised 20241127 OBH
+ +
+
+

 

+ + + + + + + + + + + + + + +

+ Instructions

+ +
    + Green: + Category or service is available, and/or not deviating from the norm. + +
    + Yellow: + Interruption expected, Moderate, Caution, Not Ideal relative to the norm. + +
    + Red: + Complete disruption of service or disastrous condition of service or functionality, and failure relative to the norm. + +
    + Unknown: + Unknown, Unable to determine, Information not available + +
    +
    + + + +
  1. + TO (Recipient): + Call sign, unit, or party intended to be the recipient. +
    + FROM (Sender): + Call sign, unit, or party generating the report. + +
  2. +
  3. Message Precedence: + Select option which best reflects priority or urgency. +
  4. +
  5. DTG (Date Time Group): + YYMMDD-HHMMz. (Example: 230929-0100z) +
  6. +
  7. State: + 2 digit abbreviation of the State for which the StatRep is referring. + +
  8. +
  9. Grid: + Maiden Head grid of location being reported. + +
  10. +
  11. + Map Pin: Should reflect the most degraded (yellow or red) category in your STATREP, to reflect partial or total disruption in one of the categories/services. If reporting a location other than your own, include the City and State in the remarks field. + +
  12. +
  13. + Commercial Power: + Select to reflect status electrical grid in the location you are reporting. + +
  14. +
  15. + Public Water: + Select to describe status of public water utilities. + +
  16. +
  17. + Medical: + Select to describe availability of medical support. Doctors, hospitals, etc. + +
  18. +
  19. + Over Air Comms: + Select to describe availability of public communications such as Cellphone, TV and radio. + +
  20. +
  21. + Travel Conditions: + Select to describe ability for road travel and transport of goods at reported location. + +
  22. +
  23. + Internet: + Select to describe availability of internet service at reported location. + +
  24. +
  25. + Fuel: + Select to describe the availability of fuel (gasoline, diesel, propane, etc) in the reported area. + +
  26. +
  27. + Food Availability: + Select to describe the availability of food at the reported location. + +
  28. +
  29. + Criminal Activity: + Select to describe the level of criminal activity in the reported location. + +
  30. +
  31. + Civil: + Select to describe the mindset and actions of the general population at the reported location. + +
  32. +
  33. + Political: + Select to describe the mindset and actions of politicians at the reported location. + +
  34. +
  35. + Brief "NECESSARY" clarifying remarks: + For brevity this space is typically blank. If necessary to add text please keep it succinct. If significant details are required, submit a separate SitRep. If this SitRep is reporting on a location other than your own, include the City and State in these remarks
    +
    +
    +
  36. +
+ \ No newline at end of file diff --git a/overlay/etc/skel/.nbems/FLMSG.prefs b/overlay/etc/skel/.nbems/FLMSG.prefs new file mode 100644 index 0000000..ed27cef --- /dev/null +++ b/overlay/etc/skel/.nbems/FLMSG.prefs @@ -0,0 +1,60 @@ +; FLTK preferences file format 1.0 +; vendor: w1hkj.com +; application: FLMSG + +[.] + +version:4.0.24 +mainx:70 +mainy:71 +expertW:570 +expertH:492 +wpl:5 +open_on_export:0 +utc:0 +dtformat:0 +mycall: +mytel: +myname: +myaddr: +mycity: +myemail: +sernbr:1 +rgnbr:1 +rri:1 +sernbr_fname:1 +rgnbr_fname:1 +arl_desc:1 +call_fname:1 +dt_fname:1 +insert_x:0 +charcount:72 +autowordwrap:1 +send_original:1 +preset_tab:15 +mars_roster_file: +xmlrpc_address:127.0.0.1 +xmlrpc_port:7362 +use_compression:0 +selected_mode:0 +swx_index_default_state:0 +swx_index_default_county:0 +swx_default_city: +swx_default_location: +swx_default_zone: +swx_default_profile: +change_modem_with_autosend:1 +sync_modem_to_fldigi:0 +caplocal:0 +auto_open_url:0 +retries:5 +timeout:60000 +exponent:5 +ID_on:1 +ID_off:1 +ID_restore:1 +arq_shown:1 +UI_expert:1 +UI_default:1 +arq_notify_timeout:0 +notify_receipt:0 diff --git a/tests/test-flmsg.sh b/tests/test-flmsg.sh index 65a417b..dff1612 100755 --- a/tests/test-flmsg.sh +++ b/tests/test-flmsg.sh @@ -3,5 +3,5 @@ # Date : 13 March 2026 # Purpose : Test flmsg installation -OUT=$(which flmsg) +OUT=$(which flmsg && which et-flmsg) exit $? From 14d872efd57f9603715b56feb62bfc442dd8c654 Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Fri, 13 Mar 2026 16:20:14 -0700 Subject: [PATCH 03/13] flmsg - Added et-flmsg wrapper script --- REGRESSION.md | 6 +++ overlay/opt/emcomm-tools/bin/et-flmsg | 68 +++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100755 overlay/opt/emcomm-tools/bin/et-flmsg diff --git a/REGRESSION.md b/REGRESSION.md index 0e7e023..2eff6c6 100644 --- a/REGRESSION.md +++ b/REGRESSION.md @@ -104,3 +104,9 @@ ## Security * [ ] gpa + +## flmsg + +* [ ] Launch flmsg from Applications search +* [ ] Confirm custom AmRRON forms +* [ ] Confirm callsign under Config > Personal data diff --git a/overlay/opt/emcomm-tools/bin/et-flmsg b/overlay/opt/emcomm-tools/bin/et-flmsg new file mode 100755 index 0000000..d386ec3 --- /dev/null +++ b/overlay/opt/emcomm-tools/bin/et-flmsg @@ -0,0 +1,68 @@ +#!/bin/bash +# +# Author : Gaston Gonzalez +# Date : 13 March 2026 +# Purpose : Wrapper script for starting flmsg with PnP support +# +# Preconditions +# 1. None +# +# Postconditions +# 1. flmsg core settings updated +# 2. flmsg started + +usage() { + echo "usage: $(basename $0) " + echo " start - Update config and start flmsg" + echo " update-config - Update config" +} + +if [[ $# -ne 1 ]]; then + usage + exit 1 +fi + +start() { + update-config && /usr/local/bin/flmsg & +} + +update-config () { + + FLMSG_CONF_DIR="${HOME}/.nbems" + FLMSG_CONF_FILE="${FLMSG_CONF_DIR}/FLMSG.prefs" + + if [[ ! -e ${FLMSG_CONF_DIR} ]]; then + et-log "${FLMSG_CONF_DIR} does not exist. Creating it from template." + cp -r /etc/skel/.nbems ${FLMSG_CONF_DIR} + fi + + [ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json" + + ################# + # Update callsign + ################# + et-log "Updating callsign configuration..." + CALLSIGN=$(jq -r -e '.callsign' ${ET_USER_CONFIG}) + + if [[ "${CALLSIGN}" = "N0CALL" ]]; then + et-log "Exiting early. No callsign set. Run: et-user." + exit 1 + fi + + et-log "Using callsign '${CALLSIGN}'" + sed -i "s|^mycall:.*|mycall:${CALLSIGN}|" ${FLMSG_CONF_FILE} +} + +case $1 in + start) + start + ;; + update-config) + update-config + ;; + *) + echo "Invalid command." + usage + exit 1 + ;; +esac From a84967a853af47720ac221358aea7be32b36ff87 Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Fri, 13 Mar 2026 16:50:56 -0700 Subject: [PATCH 04/13] flmsg - Fixed application launcher --- scripts/install-flmsg.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/install-flmsg.sh b/scripts/install-flmsg.sh index 320e26c..a2047eb 100755 --- a/scripts/install-flmsg.sh +++ b/scripts/install-flmsg.sh @@ -1,6 +1,8 @@ #!/bin/bash # Author : William McKeehan +# Author : Gaston Gonzalez # Date : 18 November 2025 +# Date : 13 March 2026 # Purpose : Builds and installs flmsg set -e trap 'last_command=$current_command; current_command=$BASH_COMMAND' DEBUG @@ -42,7 +44,8 @@ make install [[ -e ${LINK_PATH} ]] && rm ${LINK_PATH} ln -v -s ${INSTALL_DIR} ${LINK_PATH} -stow -v -d /opt ${APP} -t /usr/local - # Use wrapper script as launcher executable sed -i 's|^Exec.*|Exec=/opt/emcomm-tools/bin/et-flmsg start|' /opt/flmsg/share/applications/flmsg.desktop +cp -v /opt/flmsg/share/applications/flmsg.desktop /usr/share/applications/flmsg.desktop + +stow -v -d /opt ${APP} -t /usr/local From c7dd80fa4500eee47c1920cbe66af8ebdd8193fa Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Fri, 13 Mar 2026 19:54:13 -0700 Subject: [PATCH 05/13] flmsg - Enabled sync modem to fldigi as sane default --- overlay/etc/skel/.nbems/FLMSG.prefs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlay/etc/skel/.nbems/FLMSG.prefs b/overlay/etc/skel/.nbems/FLMSG.prefs index ed27cef..95d94a0 100644 --- a/overlay/etc/skel/.nbems/FLMSG.prefs +++ b/overlay/etc/skel/.nbems/FLMSG.prefs @@ -44,7 +44,7 @@ swx_default_location: swx_default_zone: swx_default_profile: change_modem_with_autosend:1 -sync_modem_to_fldigi:0 +sync_modem_to_fldigi:1 caplocal:0 auto_open_url:0 retries:5 From 61e6e12ba1f6ab82e4848ac43168704732e8d4b1 Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Fri, 13 Mar 2026 20:08:52 -0700 Subject: [PATCH 06/13] flmsg - Enabled et-flmsg to start on fldigi startup --- overlay/etc/skel/.fldigi/fldigi_def.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/overlay/etc/skel/.fldigi/fldigi_def.xml b/overlay/etc/skel/.fldigi/fldigi_def.xml index a6525a9..b140a9e 100644 --- a/overlay/etc/skel/.fldigi/fldigi_def.xml +++ b/overlay/etc/skel/.fldigi/fldigi_def.xml @@ -3218,7 +3218,7 @@ Full pathname to the fllog executable --> - +/opt/emcomm-tools/bin/et-flmsg start @@ -3246,7 +3246,7 @@ Enable on program start --> -0 +1 From 41ac8e87f6945fc6a37063f190b895318d6a085b Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Fri, 13 Mar 2026 20:39:43 -0700 Subject: [PATCH 07/13] offline - Initial work on a simple collection of offline files --- REGRESSION.md | 8 +++++++ overlay/etc/skel/Desktop/offline/nets/nets.md | 21 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 overlay/etc/skel/Desktop/offline/nets/nets.md diff --git a/REGRESSION.md b/REGRESSION.md index 2eff6c6..a9f5a4e 100644 --- a/REGRESSION.md +++ b/REGRESSION.md @@ -110,3 +110,11 @@ * [ ] Launch flmsg from Applications search * [ ] Confirm custom AmRRON forms * [ ] Confirm callsign under Config > Personal data +* [ ] Close flmsg +* [ ] Confirm flmsg starts with fldigi using fldigi icon on launcher +* [ ] Confirm flmsg modem syncs with fldigi modem + +## Offline Resources + +* [ ] `offline` folder on Desktop +* [ ] List of public nets avaiable diff --git a/overlay/etc/skel/Desktop/offline/nets/nets.md b/overlay/etc/skel/Desktop/offline/nets/nets.md new file mode 100644 index 0000000..672eca6 --- /dev/null +++ b/overlay/etc/skel/Desktop/offline/nets/nets.md @@ -0,0 +1,21 @@ +--- +title: EmComm Tools Community: Inventory of Public Nets +date: 2026-03-13 +updated: 2026-03-13 +author: [The Tech Prepper] +categories: [radio] +tags: [amrron, nets] +--- + +This is an in-progress list of public nets available on HF. + +## Weekly + +AIB: AmRRON Intelligence Brief + +| Day | UTC | Net | Frequency | Modulation | Mode | Details | +|---------|------|-----|-----------|------------|-------|---------------------| +| Tuesday | 2000 | AIB | 14.110 | USB | flmsg | MFSK-32; 1000 on wf | +| Tuesday | 2010 | AIB | 14.110 | USB | flamp | MFSK-32; 1000 on wf | +| Tuesday | 2020 | AIB | 7.110 | USB | flmsg | MFSK-32; 1000 on wf | +| Tuesday | 2030 | AIB | 7.110 | USB | flamp | MFSK-32; 1000 on wf | From df31ca8f9bccdc5bf035884d73f6fee0e6523037 Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Fri, 13 Mar 2026 20:45:46 -0700 Subject: [PATCH 08/13] amrron - Set waterfall sweetspot default to 1000 to align with AIB --- overlay/etc/skel/.fldigi/fldigi_def.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/overlay/etc/skel/.fldigi/fldigi_def.xml b/overlay/etc/skel/.fldigi/fldigi_def.xml index b140a9e..cca3a51 100644 --- a/overlay/etc/skel/.fldigi/fldigi_def.xml +++ b/overlay/etc/skel/.fldigi/fldigi_def.xml @@ -183,7 +183,7 @@ Default RTTY tracking point (Hz) --> -1500 +1000 From ea759a355080e1c3ac60437be5abd8f5a4934b4c Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Fri, 13 Mar 2026 22:09:29 -0700 Subject: [PATCH 09/13] flmsg - Fixed test case following R6 Build 7 dry run --- tests/test-flmsg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-flmsg.sh b/tests/test-flmsg.sh index dff1612..65a417b 100755 --- a/tests/test-flmsg.sh +++ b/tests/test-flmsg.sh @@ -3,5 +3,5 @@ # Date : 13 March 2026 # Purpose : Test flmsg installation -OUT=$(which flmsg && which et-flmsg) +OUT=$(which flmsg) exit $? From fe50fbf7bf03f62f0e286bab53d9d369b8cf45de Mon Sep 17 00:00:00 2001 From: thetechprepper Date: Sat, 14 Mar 2026 08:59:29 -0700 Subject: [PATCH 10/13] amrron - Added AmRRON macros from 2022; enabled two macros in fldigi as the default --- overlay/etc/skel/.fldigi/fldigi_def.xml | 3 +- .../.fldigi/macros/HF_Practice_Net_22.2.mdf | 457 ++++++++++++++++++ .../.fldigi/macros/MacroTxt/AmCON_Level.txt | 1 + .../macros/MacroTxt/Checkin_Roster.txt | 9 + .../skel/.fldigi/macros/MacroTxt/NWOTW.txt | 1 + .../macros/MacroTxt/Net_Traffic_LIST.txt | 3 + overlay/opt/emcomm-tools/bin/et-fldigi | 5 +- 7 files changed, 475 insertions(+), 4 deletions(-) create mode 100644 overlay/etc/skel/.fldigi/macros/HF_Practice_Net_22.2.mdf create mode 100644 overlay/etc/skel/.fldigi/macros/MacroTxt/AmCON_Level.txt create mode 100644 overlay/etc/skel/.fldigi/macros/MacroTxt/Checkin_Roster.txt create mode 100644 overlay/etc/skel/.fldigi/macros/MacroTxt/NWOTW.txt create mode 100644 overlay/etc/skel/.fldigi/macros/MacroTxt/Net_Traffic_LIST.txt diff --git a/overlay/etc/skel/.fldigi/fldigi_def.xml b/overlay/etc/skel/.fldigi/fldigi_def.xml index cca3a51..a99a778 100644 --- a/overlay/etc/skel/.fldigi/fldigi_def.xml +++ b/overlay/etc/skel/.fldigi/fldigi_def.xml @@ -2645,7 +2645,8 @@ Enable mouse wheel rotation to control visible macro set --> -1 + +5 - +/opt/emcomm-tools/bin/et-flamp start @@ -3243,7 +3243,7 @@ Enable on program start --> -0 +1 diff --git a/overlay/etc/skel/.nbems/FLAMP/FLAMP.prefs b/overlay/etc/skel/.nbems/FLAMP/FLAMP.prefs index e88b3ee..0286312 100644 --- a/overlay/etc/skel/.nbems/FLAMP/FLAMP.prefs +++ b/overlay/etc/skel/.nbems/FLAMP/FLAMP.prefs @@ -21,7 +21,7 @@ compression:1 encoder:3 encoder_string:base256 sync_mode_flamp_fldigi:0 -sync_mode_fldigi_flamp:0 +sync_mode_fldigi_flamp:1 fldigi_xmt_mode_change:0 repeat_every:1 repeat_at_times:0 diff --git a/overlay/opt/emcomm-tools/bin/et-flamp b/overlay/opt/emcomm-tools/bin/et-flamp new file mode 100755 index 0000000..f20f94c --- /dev/null +++ b/overlay/opt/emcomm-tools/bin/et-flamp @@ -0,0 +1,69 @@ +#!/bin/bash +# +# Author : Gaston Gonzalez +# Date : 14 March 2026 +# Purpose : Wrapper script for starting flamp with PnP support +# +# Preconditions +# 1. None +# +# Postconditions +# 1. flamp core settings updated +# 2. flamp started + +usage() { + echo "usage: $(basename $0) " + echo " start - Update config and start flamp" + echo " update-config - Update config" +} + +if [[ $# -ne 1 ]]; then + usage + exit 1 +fi + +start() { + update-config && /usr/local/bin/flamp & +} + +update-config () { + + FLMSG_CONF_DIR="${HOME}/.nbems" + FLAMP_CONF_DIR="${HOME}/.nbems/FLAMP" + FLAMP_CONF_FILE="${FLAMP_CONF_DIR}/FLAMP.prefs" + + if [[ ! -e ${FLAMP_CONF_FILE} ]]; then + et-log "${FLAMP_CONF_FILE} does not exist. Creating it from template." + cp -r /etc/skel/.nbems ${HOME} + fi + + [ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json" + + ################# + # Update callsign + ################# + et-log "Updating callsign configuration..." + CALLSIGN=$(jq -r -e '.callsign' ${ET_USER_CONFIG}) + + if [[ "${CALLSIGN}" = "N0CALL" ]]; then + et-log "Exiting early. No callsign set. Run: et-user." + exit 1 + fi + + et-log "Using callsign '${CALLSIGN}'" + sed -i "s|^mycall:.*|mycall:${CALLSIGN}|" ${FLAMP_CONF_FILE} +} + +case $1 in + start) + start + ;; + update-config) + update-config + ;; + *) + echo "Invalid command." + usage + exit 1 + ;; +esac diff --git a/overlay/opt/emcomm-tools/bin/et-flmsg b/overlay/opt/emcomm-tools/bin/et-flmsg index d386ec3..bb3b7d1 100755 --- a/overlay/opt/emcomm-tools/bin/et-flmsg +++ b/overlay/opt/emcomm-tools/bin/et-flmsg @@ -2,6 +2,7 @@ # # Author : Gaston Gonzalez # Date : 13 March 2026 +# Updated : 14 March 2026 # Purpose : Wrapper script for starting flmsg with PnP support # # Preconditions @@ -31,9 +32,9 @@ update-config () { FLMSG_CONF_DIR="${HOME}/.nbems" FLMSG_CONF_FILE="${FLMSG_CONF_DIR}/FLMSG.prefs" - if [[ ! -e ${FLMSG_CONF_DIR} ]]; then - et-log "${FLMSG_CONF_DIR} does not exist. Creating it from template." - cp -r /etc/skel/.nbems ${FLMSG_CONF_DIR} + if [[ ! -e ${FLMSG_CONF_FILE} ]]; then + et-log "${FLMSG_CONF_FILE} does not exist. Creating it from template." + cp -r /etc/skel/.nbems ${HOME} fi [ -z "$ET_USER_CONFIG" ] && ET_USER_CONFIG="${HOME}/.config/emcomm-tools/user.json" diff --git a/scripts/install-flamp.sh b/scripts/install-flamp.sh index e4c2e74..cb9b09d 100755 --- a/scripts/install-flamp.sh +++ b/scripts/install-flamp.sh @@ -41,4 +41,7 @@ make install [[ -e ${LINK_PATH} ]] && rm ${LINK_PATH} ln -v -s ${INSTALL_DIR} ${LINK_PATH} +# Use wrapper script as launcher executable +sed -i 's|^Exec.*|Exec=/opt/emcomm-tools/bin/et-flamp start|' /opt/flamp/share/applications/flamp.desktop + stow -v -d /opt ${APP} -t /usr/local