25 Years of Programming
An open source source for C, C++, OWL, BASIC, MDB, XLS, DOT, and more...
Home   Projects   Up   Sitemap   Search   Blog   Forum+Chat   About Us   Privacy   Terms of Use   Feedback   FAQ   Images   Services   Ads   Donate   Humor

Net.cpp (Amateur Radio Net Control)

Utilities that assist an amateur radio net control operator with running and checking members into an on the air radio net. With minor modifications, they could also be used for a citizens band (CB) radio net.

The project consists of a set of Borland programs for MSDOS (in C and C++). I used NET.CPP many times to conduct radio nets. Once you learn how to "drive" its interface, it is efficient and fun to use, and you can keep up even when there is a flood of checkins. It loads a text file containing your net's preamble text and agenda, to which you can refer whenever you want to help keep your place. Shortcut keys allow easy navigation to screens where you can view the roster by call sign, who has checked in so far, cities represented in your roster, and more. You can search for a member by call sign or partial string match. New members are easily added. If traffic is passed, a record of that can be kept, including the full text as a memo, if desired. The same for announcements. You can record contacts that are requested, and will see reminders when the requested parties check into the net.

This is a screenshot of the Home/Help screen, which lists the various functions available and their associated shortcuts. I could only get a screenshot by running the program in a DOS window, but it is more normal to run it in full-screen DOS mode.

Screenshot of the Home/Help screen of NET.CPP.

 

The project also has a Microsoft Access database

to store and organize call signs, names, home cities, and related information. It has a complex form that was an attempt to see if MSAccess methods can duplicate what NET.CPP does. It can, very well, but it would require considerable optimization (or a lot of practice) to achieve equivalent ease of use. Access form navigation methods and data entry dependencies among tables make it difficult to keep up with a real net. If you make a mistake, the time required to correct it is excessive, and often you can't continue until you DO correct it, which makes it impractical for real use in its current form.

The database has a lot of code that might be helpful if you are seeking examples of Access Basic or Visual Basic code.

When you open the database, you'll get a warning about opening the Utility.mda module, and also about my digital certificate.

Also included in the project is an Excel spreadsheet for storing checkin and traffic totals for each day of one year. It calculates some totals and other statistics.

Download:

Click here to download amateurradionet.zip (about 176 KB).

The zip contains these files:

NET.CPP, NET.C Source code for the main program, which allows checking members into a radio net by city, by call sign or by string search. Borland C/C++ 4.0 for MSDOS target.
LOGTALLY.CPP, LOGTALLY.C Tallies the log entries from one day's net into a master file which accumulates data throughout the year. At year-end (or any time), you can create a tabulation of who checked in each day of the year.
LOGSPRED.CPP, LOGSPRED.C Formats the above-described master file into spreadsheet format for viewing or printing. Call signs are on the Y axis, 366 days of the year along the X axis.
NET.MDB The Microsoft Access database in Access 2.0 and Access 2003 versions. Rename the one you want to NET.MDB.
NETMDB.DOC A few notes about using NET.MDB, in Microsoft Word 6.0 format, which can be imported into any later version of Word.
NETCOUNT.XLS The Microsoft Excel workbook in Excel 5.0 format, which can be imported into any later version. Rename the file to NETCOUNT.XLS.
PREAMBLE.DOC
PREAMBLE.TXT
PREAMBLE.TXT is a placeholder text file for holding the preamble and agenda for your net. NET.CPP looks for and loads this file on startup, and displays it to you a page at a time as you go along.

PREAMBLE.DOC contains example preambles/agendas for two different types of nets. You can copy and modify its text for use in PREAMBLE.TXT.

CALLS.DAT
CALLS.PRN
CALLS.DAT shows the format used for the call sign, name, and city information used by NET.CPP. If you already have a list of calls signs you want to use, it will be easier to enter them manually into this file than to enter them one at a time through the program interface. CALLS.PRN shows the format used when NET.CPP prints out a roster. If you set the line spacing on your printer to match the spacing of graph paper (such as 1/4" per line), you can print a portable roster onto graph paper, which already has squares for checking people in.
COPYING.TXT GNU GPL License Version 2, viewed best in Word or WordPad.

 

CALLS.DAT file format:

CITY 1,CALLSIGN,NAME
CITY 2,CALLSIGN,NAME
CITY 2,CALLSIGN,NAME
CITY 2,CALLSIGN,NAME
CITY 2,CALLSIGN,NAME
CITY 3,CALLSIGN,NAME
CITY 3,CALLSIGN,NAME

CALLS.PRN output format:

--> CITY 1

	CALLSIGN NAME
    CALLSIGN NAME
    CALLSIGN NAME
    CALLSIGN NAME
    CALLSIGN NAME

--> CITY 2

	CALLSIGN NAME
    CALLSIGN NAME

--> CITY 3

	CALLSIGN NAME

PREAMBLE.DOC contents:

PREAMBLE.DOC When running a radio net, you read introductory text (the preamble) and follow an agenda. This file contains sample text for preambles and agendas you might use for two different types of nets.

To use a preamble with NET.MDB, open it in MSWord or another editor, and task-switch to it as needed. Use the cursor to mark your place as you go.

To use a preamble with NET.CPP, copy the text from this document, revise it as needed, format it so all lines are <= 80 characters long, and past it in text-only format to a file called PREAMBLE.TXT, which NET.EXE will open automatically when it launches.

Emergency Services Net Instructions for Net Control Operators

This is the PREAMBLE FOR THE __________________________ EMERGENCY SERVICES NET.

When you are net control, please keep a record of the date, who checked in, and the times you opened and closed the net.

You can take checkins by writing down the call signs on a blank piece of paper as they check in. Or make a roster with call signs and names already written in. Graph paper with 1/4" squares works well for this purpose. Then you can put check marks in the squares next to the names.

Please make this preamble generally available to all members of the emergency services net. Anyone could be called upon to be net control at any time.

 

Example Emergency Services Preamble and Agenda

QST, QST. This is [your call sign], net control for the [name of the net] Emergency Services Net. We meet each [day of week] at [time of day] hours on this frequency.

The purpose of the net is to determine the availability of amateur radio operators in the event of an emergency. The net may also be used for training, for exchanging information and ideas of interest to the amateur, and to better prepare the organization to serve in the event of an emergency.

The primary frequency is [primary frequency]. Alternate frequencies are _________ and __________.

Please remain on frequency for the duration of the net. Checkins will be taken in alphabetical order by call sign suffix. Please check in with your call sign, your name, and location.

Now taking checkins:

A - E, ALPHA through ECHO, come now...

F - J, FOXTROT through JULIET

K - O, KILO through OSCAR

P - T, PAPA through TANGO

U - Z, UNIFORM through ZULU

Are there any late, missed, or visiting stations, ALPHA through ZULU?

We will now go to the forum section of the net. Are there any announcements or topics for discussion?

Is there any further business for the net?

Are there any late, missed, or visiting stations wishing to check in?

Thank you for participating in the _____________________ Emergency Services Net. The net is now closed at _______ hours and the frequency is returned to normal use. This is [your call sign].

 

Example Traffic Net Preamble and Agenda

(Bring up any needed repeaters using the tones they require.)

QST, QST, and good evening to all amateur operators. Welcome to the __________________________ Traffic Net. This net meets each [morning/afternoon/evening/night] from [start time] to [end time] local time on the frequency of __________ with a [plus/minus] offset, and, when available, ___________ with a [plus/minus] offset. Our backup frequency is _____________ with a [plus/minus] offset.

This station is _________. My name is ________. I'm located in ___________, and I'll be your net control station for this evening.

This is a friendly net. Its main purpose is to pass traffic, give and receive information for amateur use, and provide general announcements for all amateurs. We would like you to stay with the net, but if you can't, let us know in case someone tries to contact you later.

Any station with emergency or priority traffic should break in at any time, and relays are always welcome.

At this time, are there any announcements or contacts to list?

Is there any traffic to list? If so, please state your call and the traffic destination. All traffic will be handled after the regular roll call. Any traffic, please come now...

Are there any mobile or portable stations wishing to check in at this time? When checking in, please give your call and home location. Any mobiles or portables, come now...

Take the regular roll call.

Are there any late, missed, or visiting stations wishing to check in?

Are there any announcements, contacts, or traffic not yet listed?

The checkin portion of the net is now completed. Thank you for dropping by and checking in. Anyone who wishes to leave at this time is excused, except for stations needed for contacts or traffic.

Handle all traffic.

Handle all contacts.

Open the repeater up for short contacts and conversations, with an occasional break for any late, missed, or visitors.

Last call for late, missed, or visitors, or any other business for the net.

(When it's time to close the net:) Thank you for dropping by, checking in, and participating in the _____________ ____________________ Net. The net is now closed. Have a good [morning/afternoon/evening/night].

Report the number of check-ins and traffic to the net manager or assistant, or announce the totals as you close the net.

TRAFFIC = Formal traffic + Announcements + Your closing report (1)

Contacts are not counted as traffic.

(Take down repeaters using the tones they require.)

Clear with your call sign.

Screenshots

Screenshot of the Access 2.0 version of the input form (with no data in it):

Screenshot of the NET.MDB checkin input form.

Screenshot of the Netcount.xls spreadsheet:

Screenshot of the Netcount.xls Excel worksheet.

 

Other pages on this site related to amateur radio

ELECTRIC.XLS is an Excel workbook containing spreadsheets for Ohm's Law calculations, serial and parallel resistance, capacitance, and inductance, and frequency and wavelength calculations useful in antenna design.

SX-110 has basic setup and operating instructions for a Hallicrafters SX-110 short wave radio receiver.

 

 

Valid HTML 4.01 Transitional Valid CSS
View content labeling at ICRA.
Copyright ©2008 Steven Whitney. Last modified 02/27/2008.