Home | FAQ | Opinions | Misc | Software | WebCam | For Sale | Links | Awards | About KH2D | Complaints
Wednesday - April 23, 2014 - Amateur Radio at the Beach - Amelia Island - KH2D.net
ASCII to ADIF Converter
This program is distributed as is, as freeware. Install and use it at your own risk.

This program will convert comma delimited ASCII files to ADIF format for import into a logging program that supports ADIF import. The program is intended to be used with comma separated text files produced with other logging programs or with spread sheet programs, such as Xcel.

The program runs under Windows 95, 98, or NT. It will not work with Windows 3.1.

Required files are:

ASC2ADIF.EXE (the program)
LOG.ASC (user supplied input file)

SAMPLE.ASC is a sample input file with 99 records you can import or look at with a spread sheet program.

Other files required for the program to operate are installed by the SETUP.EXE program.

Output files:

The program produces two output files, LOG.ADI which is a file in ADIF format for importing, and BAD.ADI, which is also in ADIF format and contains any records the program flagged as having bad data in particular fields. The records in BAD.ADI are NOT included in LOG.ADI. BAD.ADI can be edited with any text editor, corrected, and imported into the logging program.

This program supports the following data fields:

CALL, BAND, FREQ, MODE, SENT, RCVD, NAME, NOTE, DXCC, QSLSENT, QSLRCVD, STATE, IOTA, COUNTY, CQZONE, QTH, DATE, TIME

Eighteen fields are supported, and each record MUST have 18 fields separated by commas, even if the field has NO data.

Fields MUST appear in the input file LOG.ASC in the order listed above, separated by a comma. For example:

JA1ELY,20M,14200.2,SSB,59,59,Toshi,CQ Editor,123,Y,Y,,AS-027,,25,Tokyo,12/15/97,00:14

ALL records in the file MUST have all fields, even if the fields are blank. In the above example there are no STATE or COUNTY fields, but the blank is still separated by the comma.

Error checking:

Some fields are checked for proper data format, some are not. The fact that the program assembles an input record into a ADIF record does not insure the data in correct format and does not insure that the record will import into a logging program. See the following discussion of the individual fields to learn what format is acceptable and what is error checked.

This program was designed to be compatible with LOGGER, by Bob Furzer, and other data verification services are provided by LOGGER when the ADIF records are imported.

Input File (LOG.ASC) fields:

CALL - Call sign of station worked. No error check, passed verbatim to ADIF.

BAND - may be in either of two formats. METERS - may be in the format '20' or '20M' or '20m'. Megahertz - in the format '14'. The BAND field is checked against a list of standard amateur bands from 160M thru 70CM. The format of the band field is user selectable via check boxes on the main program screen.

FREQ - QSO frequency. No error check, passed verbatim to ADIF.

MODE - QSO mode, i.e., SSB, CW, PSK, etc. No error check, passed verbatim to ADIF.

SENT - RST sent. No error check, passed verbatim to ADIF.

RCVD - RST received. No error check, passed verbatim to ADIF.

NAME - Name of operator of station worked. No error check, passed verbatim to ADIF.

NOTE - Notes or comments. No error check, passed verbatim to ADIF. Notes MUST NOT contain any COMMA characters.

DXCC - Standard ADIF DXCC number. Field is checked to verify it is a numeric value but it is not checked against a list of ADIF DXCC numbers. See ADIF web page for list of DXCC numbers.

QSLSENT - Was QSL sent to station worked. Must be 'Y' or 'N'. No error check, passed verbatim to ADIF.

QSLRCVD - Was QSL received from station worked. Must be 'Y' or 'N'. No error check, passed verbatim to ADIF.

STATE - Two letter U.S. state code. Field is checked for length (2 characters) but is not verified against a list of U.S. state codes. Note: A common mistake made by numerous logging programs is to include Canadian province codes in the log as state codes. These are NOT valid ADIF format state codes.

IOTA - IOTA number. Must be in the format 'AS-123' or 'AS123'. Field is verified for length only. Hyphen is added to any 5 character records, i.e., 'AS123' is changed to 'AS-123' as the hyphen is required by ADIF standards.

COUNTY - U.S. county name. Field is not verified against a list of U.S. counties. If this field appears, the program verifies that a STATE code accompanies it in the record, and the two fields are combined to form the COUNTY field.

CQZONE - Numeric field in the format '5' or '05'. Not verified against a list, passed verbatim to the ADIF output file.

QTH - Text string, not verified. Passed verbatim to the ADIF output file.

DATE - The date field must appear in one of the following formats:

YY-MM-DD MM-DD-YY YY-DD-MM DD-MM-YY

Any character may be used to separate the MM DD and YY fields, i.e., 99.02.12 or 99-02-12 or 99/02/12 are all acceptable. The DATE format is user selectable on the main screen of the program by checking the appropriate format. Dates are checked for FORMAT ONLY and not verified for validity.

Y2K Compliance.

Any date after the year 40 will be assigned to the 20th century, i.e., 40 will become 1940. Any year before 40 will be assigned to the 21st century, i.e., 32 will become 2032. After the year 2040, you are own your own, you figure it out..........

TIME - the time field is one of the most problematic fields in log conversion, so every effort has been made to insure that the time field is converted from whatever format is available. No effort has been made to insure that the user has keyed in a VALID time. Examples of INVALID times are 25:02 and 14:69. The time field input to the program can be in many formats. For the example here, we will use the time 00:03 GMT (we all log in GMT, I hope). If the time is in any one of the following formats, the program will convert it to an HHMM format:

00:03 0003 003 03 3

Since some logging programs use SECONDS in the time field, the program will also interpret the following times as 00:03 GMT:

00:03:00 000300

If you are using this program to prepare an ADIF file for import into LOGGER, logger will check and flag any INVALID times when the ADIF file is imported.

What happens when BAD data is found:

First, the resulting ADIF record is written to the file BAD.ADI and NOT to the file LOG.ADI.

Second, the comment '*BAD*' is inserted into fields in the record in BAD.ADI to aid the user in correcting the problem. Required fields with missing data are marked as '*BAD* (Missing)'. Fields with INVALID data are marked as '*BAD*' followed by the BAD DATA.

Correcting BAD data:

If you wind up with a large number of records in the BAD.ADI file, it may be easier to correct the input file using a spread sheet or text editing program and then rerun the program. Minor problems can be fixed by editing the BAD.ADI file with any text editor, but require an understanding of ADIF format. The following is a brief explanation of an ADIF field:

The ADIF field has three parts - the NAME of the field, a number specifying LENGTH of the field, and the actual DATA. Name/Length are surrounded by <> brackets, and separated by a colon.

WB3IXC - means the NAME is CALL, the LENGTH (of the data) is 6 and the data is WB3IXC. If you change data, you must change the LENGTH also. WB3IXC will result in only WB3I being imported as the call sign.

Running the program:

After you have started the program (with the file LOG.ASC in the same directory where the program is located), simply select the DATE format by checking the appropriate check box and the BAND field format in the same manor. Click START to start the conversion.

Program Errors:

The program will generate several error messages. The main one the user needs to be concerned with is BAD INPUT FILE FORMAT. This error happens when the program detects an invalid number of fields for the total number of records. Each input record MUST have 18 fields. A file in the format:

Call,band,mode,sent,rcvd,,,,,,,,,date,time

Call,band,mode,sent,rcvd,,,,date,time

Call,band,mode,sent,rcvd,,,date,time

Call,band,mode,sent,rcvd,,date,time

Call,band,mode,sent,rcvd,date,time

Will not import correctly.

NOTES: Xcel will generate CSV files with a undetermined number of fields if the last field in any record is blank. Make sure ALL records have a CALL and TIME field.

This error will result if the comma (,) character is used in any note fields, i.e., Note = "Fred, a guy I talked to on the radio'. The error will result if the quote (") character is used in any note field. If you are experiencing problems with bad input file format errors, check the LOG.ADI file (if one was created) for the last valid record and make sure that the input file DOES NOT have any COMMA characters in any text field.

If after reading the above information you think the program will help you solve your conversion problem, you can download it here.

Wednesday - April 23, 2014 - Amateur Radio at the Beach - Amelia Island - KH2D.net
Home | FAQ | Opinions | Misc | Software | WebCam | For Sale | Links | Awards | About KH2D | Complaints
Amateur Radio At The Beach - Copyright © 1999-2014 Jim Kehler, KH2D