Porównaj commity

...

160 Commity
v0.3 ... master

Autor SHA1 Wiadomość Data
OpenARDF 702853fff5
Merge pull request #27 from DigitalConfections/master
Sync with master repository
2020-08-12 19:39:19 -04:00
DigitalConfections de8117ec50
Merge pull request #48 from DigitalConfections/Dev1
Ver 0.23
2020-08-12 19:38:08 -04:00
DigitalConfections c27a55e35c Ver 0.23
o Major redesign of EEPROM logic. Now all settings will generally be saved between software updates. Running Ver. 0.23 will corrupt existing settings. Run FAC command after installing, then reset all transmitter settings.
2020-08-12 19:37:34 -04:00
OpenARDF 4575e7375a
Merge pull request #26 from DigitalConfections/master
Sync to main repository
2020-08-12 08:21:46 -04:00
DigitalConfections 51669df5fa
Merge pull request #47 from DigitalConfections/Dev1
Ver 0.22
2020-08-12 08:15:29 -04:00
DigitalConfections 1d06291192 Ver 0.22
o Fixes a bug that allowed CAL and ID values to be overwritten after a software installation applies new EEPROM settings.
o Fixes a bug that allowed the LED to be stuck in the ON state after turning off LEDs with the LED command.
2020-08-12 08:14:54 -04:00
OpenARDF aa128953b1
Merge pull request #25 from DigitalConfections/master
Sync with master repository
2020-08-11 21:24:04 -04:00
DigitalConfections 98a8509166
Merge pull request #46 from DigitalConfections/Dev1
Ver 0.21
2020-08-11 21:16:34 -04:00
DigitalConfections 067cd632d8 Ver 0.21
o Corrects several errors that prevented the DIP switch from being read correctly after a sync.
2020-08-11 21:15:54 -04:00
DigitalConfections 0f8d7c3c17
Merge pull request #45 from OpenARDF/master
Update README
2020-08-11 17:18:30 -04:00
OpenARDF 1aec987789
Merge pull request #24 from DigitalConfections/master
Sync to master repository
2020-08-11 17:07:36 -04:00
DigitalConfections 7bbaa18ba5
Merge pull request #44 from DigitalConfections/Dev1
Ver 0.20
2020-08-11 17:00:58 -04:00
DigitalConfections d983c25a1f Ver 0.20
o Corrects a minor bug that caused the tone output to shift to the next fox tone pitch ~100ms too soon.
2020-08-11 17:00:14 -04:00
OpenARDF 25d167bcef
Update README.md 2020-08-11 10:59:32 -04:00
OpenARDF 5e14820a9f
Merge pull request #23 from DigitalConfections/master
Update to latest on parent repository
2020-08-11 10:56:18 -04:00
DigitalConfections 4e6f53b6ac
Merge pull request #43 from DigitalConfections/Dev1
Version 0.19
2020-08-11 10:48:55 -04:00
DigitalConfections 77d1d6efca Version 0.19
. Added the TXE command to enable/disable the transmitter. This turns off the Key output, but audio tones and LED continue to function as normal.
2020-08-11 10:48:07 -04:00
OpenARDF a26d73bd8c
Merge pull request #22 from DigitalConfections/master
Update to latest on Master repository
2020-08-10 15:29:40 -04:00
DigitalConfections cb13e15b2d
Merge pull request #42 from DigitalConfections/Dev1
Version 0.18
2020-08-10 15:25:10 -04:00
DigitalConfections 66f0725561 Version 0.18
o Modes were added to allow the start tones to play without Morse code being sent between starting intervals. Both 2-minute and 5-minute silent starts are supported. The transmitter is not keyed in these modes.
o Setting the DIP value in software applies the new DIP value immediately without a reset.
o The LED (if enabled) is disabled after the first cycle completes, to save power.
o Unused watchdog timer functionality was deleted.
2020-08-10 15:24:21 -04:00
OpenARDF 577afe155b
Merge pull request #21 from DigitalConfections/master
Sync to master
2020-07-28 19:28:05 -04:00
DigitalConfections bbb8ec02e4
Merge pull request #41 from DigitalConfections/Dev1
Ver 0.17
2020-07-28 19:24:53 -04:00
DigitalConfections 8979a4f901 Ver 0.17
Fixes these two minor bugs:
o When start tones were turned off, the audio tone output would be silenced during the time that the start tone sequence would have played. The key output pin still functioned as intended.
o Start tones had a 5-minute interval if the transmitter were set to function as a Sprint spectator beacon, instead of a more appropriate 2-minute interval.
2020-07-28 19:24:13 -04:00
DigitalConfections 9e8684387c
Merge pull request #40 from OpenARDF/master
Update README file
2020-07-02 11:14:52 -04:00
OpenARDF 39e2dd490e
Update README.md 2020-07-02 11:09:32 -04:00
OpenARDF 92a97bb446
Update README.md 2020-07-02 11:08:56 -04:00
OpenARDF a1ffa97dca
Merge pull request #20 from DigitalConfections/master
Sync with master repository
2020-06-30 17:01:38 -04:00
DigitalConfections f5b206d94a
Merge pull request #39 from DigitalConfections/Dev1
Update Assembly Notes.pdf
2020-06-30 16:59:32 -04:00
DigitalConfections 4e7ba6b599 Update Assembly Notes.pdf 2020-06-30 16:58:49 -04:00
OpenARDF e03ba18449
Merge pull request #18 from DigitalConfections/master
Sync to master repository
2020-06-30 15:56:46 -04:00
DigitalConfections 92876ee5d7
Merge pull request #37 from DigitalConfections/Dev1
Ver 0.16
2020-06-30 15:55:06 -04:00
DigitalConfections f442284fd9 Ver 0.16
o Unused pins are set to inputs pulled high.
2020-06-30 15:54:32 -04:00
DigitalConfections 54eed8d328
Merge pull request #36 from DigitalConfections/Dev1
Ver 0.15
2020-06-30 14:49:48 -04:00
DigitalConfections 8c84dc7a55 Ver 0.15
o Moved calibration output signal to OC2A (PB3) due to issues getting the signal to appear on OC2B.
2020-06-30 14:48:56 -04:00
OpenARDF bcbb0b0913
Merge pull request #17 from DigitalConfections/master
Sync to master repository
2020-06-29 13:53:40 -04:00
DigitalConfections d770836d64
Merge pull request #35 from DigitalConfections/Dev1
Update Assembly Notes.pdf
2020-06-29 13:52:21 -04:00
DigitalConfections 5058ab46f7 Update Assembly Notes.pdf 2020-06-29 13:51:33 -04:00
OpenARDF 3054f49ddd
Merge pull request #16 from DigitalConfections/master
Update to parent repository
2020-06-25 12:59:43 -04:00
DigitalConfections 8d2083537d
Merge pull request #34 from DigitalConfections/Dev1
Update Assembly Notes.pdf
2020-06-25 12:58:41 -04:00
DigitalConfections aa3048ebfa Update Assembly Notes.pdf 2020-06-25 12:57:48 -04:00
OpenARDF f6757ae1ea
Merge pull request #15 from DigitalConfections/master
Sync to master repository
2020-06-24 21:48:53 -04:00
DigitalConfections b5849b413f
Merge pull request #33 from DigitalConfections/Dev1
Cleanup
2020-06-24 21:47:09 -04:00
DigitalConfections 7988098e81 Cleanup
o Fixes compile switch logic
2020-06-24 21:46:25 -04:00
OpenARDF 0d32c3dbb0
Merge pull request #14 from DigitalConfections/master
Sync with parent repository
2020-06-24 21:31:41 -04:00
DigitalConfections 9fd2f82f7b
Merge pull request #32 from DigitalConfections/Dev1
Ver 0.14
2020-06-24 21:29:45 -04:00
DigitalConfections d0f7726b16 Ver 0.14
o Added compile option to place 601Hz signal on PD3 to use for timing calibration
o Deleted watchdog ISR.
o Minor cleanup
2020-06-24 21:28:09 -04:00
OpenARDF 438a750ff0
Merge pull request #13 from DigitalConfections/master
Sync to head repository
2020-06-23 16:37:09 -04:00
DigitalConfections 6f7b3925d2
Update README.md 2020-06-23 16:34:03 -04:00
DigitalConfections f9373c5297
Merge pull request #31 from DigitalConfections/Dev1
Added HW Assembly Notes
2020-06-23 16:32:21 -04:00
DigitalConfections 2f99dc4fdc Added HW Assembly Notes
o Added doc to HW folder
2020-06-23 16:31:46 -04:00
OpenARDF 6931ebedbe
Merge pull request #12 from DigitalConfections/master
Pull in README changes from parent repository
2020-06-17 16:06:16 -04:00
DigitalConfections 65caacab52
Update README.md 2020-06-17 15:45:02 -04:00
DigitalConfections 1e7c390adc
Update README.md 2020-06-17 15:44:00 -04:00
DigitalConfections 7ca74a3c31
Merge pull request #30 from OpenARDF/master
Little change to readme
2020-06-17 15:07:21 -04:00
OpenARDF be83094cc0
Update README.md 2020-06-17 14:57:59 -04:00
OpenARDF b049975f87
Merge pull request #11 from DigitalConfections/master
Resync to parent repository
2020-06-16 22:46:18 -04:00
DigitalConfections dec5d110ab
Merge pull request #29 from DigitalConfections/Dev1
Dev1
2020-06-16 22:42:08 -04:00
DigitalConfections b839d3e9fd
Update README.md 2020-06-16 22:40:34 -04:00
DigitalConfections ed29983008 Merge branch 'Dev1' of https://github.com/DigitalConfections/WB8WFK-ARDF-Foxoring-Transmitter into Dev1 2020-06-16 22:38:18 -04:00
DigitalConfections 634ee88492
Update README.md 2020-06-16 22:37:27 -04:00
DigitalConfections a895156b99 Updated doc 2020-06-16 22:36:23 -04:00
DigitalConfections be002dce99
Merge pull request #28 from DigitalConfections/master
Rebase
2020-06-16 22:30:03 -04:00
DigitalConfections 2ffc01966b Pinout in Docs
Added Docs folder and pinout diagram
2020-06-16 22:26:35 -04:00
DigitalConfections b5720d5567
Update README.md 2020-06-16 20:10:24 -04:00
OpenARDF c4e9b669a6
Merge pull request #10 from DigitalConfections/master
Sync with head repository
2020-06-16 20:07:09 -04:00
DigitalConfections f08696d885
Update README.md 2020-06-16 20:05:19 -04:00
DigitalConfections 2b123c1667
Update README.md 2020-06-16 20:03:46 -04:00
DigitalConfections 66c14e2228
Update README.md 2020-06-16 20:01:55 -04:00
OpenARDF 883e972d4e
Merge pull request #9 from DigitalConfections/master
Sync to head
2020-06-16 19:56:53 -04:00
DigitalConfections b78980ae0d
Merge pull request #27 from DigitalConfections/Dev1
Project Description
2020-06-16 19:54:02 -04:00
DigitalConfections bb973ecc1d Project Description
Added project description document
2020-06-16 19:53:17 -04:00
OpenARDF 868a1808c8
Merge pull request #8 from DigitalConfections/master
Update to head
2020-06-16 17:49:44 -04:00
DigitalConfections 8920c411b7
Merge pull request #26 from DigitalConfections/Dev1
Hardware File Updates
2020-06-16 17:48:07 -04:00
DigitalConfections a68a7cef80 Hardware File Updates
o Added CAD files to Hardware folder
o Renamed schematic diagram file
2020-06-16 17:47:30 -04:00
OpenARDF 0ca1639405
Merge pull request #7 from DigitalConfections/master
Bring in latest from head
2020-06-16 10:32:58 -04:00
DigitalConfections f525a4ded2
Update README.md 2020-06-16 10:21:25 -04:00
DigitalConfections a2333f28d0
Merge pull request #25 from DigitalConfections/Dev1
Version 0.13
2020-06-16 10:18:54 -04:00
DigitalConfections 55fa8d6ed3 Version 0.13
o Synchronization using the hardware sync pin can now be performed at any time, so long as the sync pin is enabled.
o The sync pin is enabled from power up, but gets disabled after the first transmitter cycle: (5 mins for Classic, 1 min for Sprint)
o Sync is accomplished by pulling the sync pin low for at least one second, and then setting it high. Its internal pull-up resistor is enabled. The pin is effectively debounced in software.
o Removed the SYN serial command, so there is now no way to disable sync using a command.
o Fixed a few minor bugs in the TEM command.
o Some refactoring of macro names
2020-06-16 10:17:26 -04:00
OpenARDF 8cc83b43b7
Merge pull request #6 from DigitalConfections/master
Update README.md
2020-06-14 15:50:13 -04:00
DigitalConfections 2e393e90e9
Update README.md 2020-06-14 15:47:05 -04:00
OpenARDF 2e6272367c
Merge pull request #5 from DigitalConfections/master
Merge latest from head
2020-06-14 15:27:55 -04:00
DigitalConfections c905311c15
Merge pull request #23 from DigitalConfections/Dev1
Version 0.12
2020-06-14 15:19:51 -04:00
DigitalConfections 401ebece92 Version 0.12
The > GO serial command can now be used anytime to re-sync the transmitter, not just right after power-up
2020-06-14 15:19:05 -04:00
DigitalConfections a295a52b8c
Update README.md 2020-06-14 14:52:07 -04:00
OpenARDF cdb0c534cf
Merge pull request #4 from DigitalConfections/master
Update to latest changes on head
2020-06-14 14:14:20 -04:00
DigitalConfections 50b28d85ab
Merge pull request #21 from OpenARDF/master
Merge pull request #1 from DigitalConfections/master
2020-06-14 14:06:40 -04:00
DigitalConfections 9cf03b658d
Merge pull request #22 from DigitalConfections/Dev1
Version 0.11
2020-06-14 14:02:56 -04:00
DigitalConfections 90063c5ded Version 0.11
o Adds optional compile for  external port pin pull-ups. When the HARDWARE_EXTERNAL_DIP_PULLUPS_INSTALLED is set to FALSE (default) the software will turn on the internal port pin pull-ups prior to reading DIP and SYNC pins. Those pins will then be set to outputs (LOW) after all pins have been read, to save power.
o Fixes a bug that prevented the FAC command from resetting the time calibration (CAL) and callsign (ID) settings.
o Reverses the logic of DIP pins so that ON corresponds to "1".
o Turned off the OC0A pin toggle when audio output is active. Only pin 9 is audio output now.
o Minor cleanup and formatting changes
2020-06-14 14:01:59 -04:00
OpenARDF 6ce6ebfc34
Update README.md 2020-06-13 16:22:46 -04:00
OpenARDF 94d2718ffb
Update README.md 2020-06-13 13:34:00 -04:00
OpenARDF 5a29fe3518
Update README.md 2020-06-13 11:50:21 -04:00
OpenARDF ed4805818d
Update README.md 2020-06-12 21:46:08 -04:00
OpenARDF 21f83a397a
Update README.md 2020-06-12 21:24:49 -04:00
OpenARDF 5993d94ecc
Update README.md 2020-06-12 21:22:25 -04:00
OpenARDF 3446238ca7
Update README.md 2020-06-12 21:19:35 -04:00
OpenARDF 23e8e8e6c9
Update README.md 2020-06-12 21:17:49 -04:00
OpenARDF 57a4dc704f
Update README.md 2020-06-12 21:17:13 -04:00
OpenARDF 40a3e2a504
Update README.md 2020-06-11 10:36:18 -04:00
OpenARDF 5527497c5c
Update README.md 2020-06-10 19:42:17 -04:00
OpenARDF 1cbf7cee5a
Merge pull request #2 from DigitalConfections/master
Update to head
2020-06-10 15:34:12 -04:00
DigitalConfections 61b67e36ec
Merge pull request #20 from DigitalConfections/Dev1
Added Hardware Readme
2020-06-08 21:43:51 -04:00
DigitalConfections 59f52863ba Added Hardware Readme
Added Hardware Readme.txt
2020-06-08 21:43:22 -04:00
DigitalConfections 0a424d927a
Update README.md 2020-06-08 21:33:16 -04:00
DigitalConfections 21752c5b24
Update README.md 2020-06-08 21:29:19 -04:00
DigitalConfections ff9fed29c1
Merge pull request #19 from DigitalConfections/Dev1
Added Hardware Documents
2020-06-08 21:26:10 -04:00
DigitalConfections 2a4c2928e3 Added Hardware Documents
Hardware folder
Schematic document
Gerber folder
Zipped Gerber files
2020-06-08 21:23:59 -04:00
OpenARDF 62dfd5fc01
Merge pull request #1 from DigitalConfections/master
Update Fork
2020-06-08 21:14:15 -04:00
DigitalConfections c36de46624
Update README.md 2020-06-08 17:06:09 -04:00
DigitalConfections ce11193781
Update README.md 2020-06-08 17:05:17 -04:00
DigitalConfections 1c3831cc72
Update README.md 2020-06-08 17:02:24 -04:00
DigitalConfections f9832392a9
Update README.md 2020-06-08 16:59:46 -04:00
DigitalConfections 303a5669ba
Update README.md 2020-06-08 16:57:24 -04:00
DigitalConfections 94d648804d
Update README.md 2020-06-08 16:55:06 -04:00
DigitalConfections e161fae1ea
Update README.md 2020-06-08 16:52:28 -04:00
DigitalConfections 8657a848a7
Update README.md 2020-06-08 14:18:59 -04:00
DigitalConfections 4f1087046d
Update README.md 2020-06-08 14:17:29 -04:00
DigitalConfections fc749c0e00
Update README.md 2020-06-08 14:16:08 -04:00
DigitalConfections acf2dc1085
Merge pull request #18 from OpenARDF/master
Detail added to README file
2020-06-08 14:12:43 -04:00
OpenARDF 4bcc1ed17e
Update README.md 2020-06-08 14:07:32 -04:00
OpenARDF 0e7bf25798
Update README.md 2020-06-08 14:06:20 -04:00
OpenARDF f8c96146e0
Update README.md 2020-06-08 14:05:06 -04:00
OpenARDF aa554b3d02
Update README.md 2020-06-08 14:04:01 -04:00
OpenARDF f4190bfc0e
Update README.md 2020-06-08 13:59:15 -04:00
OpenARDF eb1ed093d4
Update README.md 2020-06-08 13:57:49 -04:00
OpenARDF de89637f47
Update README.md 2020-06-08 13:55:20 -04:00
OpenARDF 87cfc69714
Update README.md 2020-06-08 13:53:19 -04:00
OpenARDF 19f6f24bbd
Update README.md 2020-06-08 13:51:25 -04:00
OpenARDF 66236ecc72
Update README.md 2020-06-08 13:48:10 -04:00
OpenARDF f914c28fca
Update README.md 2020-06-08 13:38:30 -04:00
OpenARDF f4d1fc568c
Update README.md 2020-06-08 13:33:17 -04:00
OpenARDF ffb14b86e9
Update README.md 2020-06-08 13:28:49 -04:00
OpenARDF 3dbb7d26ec
Update README.md 2020-06-08 13:27:16 -04:00
OpenARDF fed0d1329a
Update README.md 2020-06-08 13:15:09 -04:00
OpenARDF bbd85b4753
Update README.md 2020-06-08 13:06:40 -04:00
OpenARDF b4957f5f7e
Update README.md 2020-06-07 08:53:45 -04:00
OpenARDF 0cbbc6d8b2
Update README.md 2020-06-07 08:52:36 -04:00
DigitalConfections 1781f22d41
Merge pull request #17 from OpenARDF/master
Updates to README
2020-06-06 16:46:56 -04:00
OpenARDF 9182024df1
Update README.md 2020-06-06 16:41:50 -04:00
OpenARDF 43f789a236
Update README.md 2020-06-06 16:41:01 -04:00
OpenARDF cef2ae5eb5
Update README.md 2020-06-06 16:37:49 -04:00
OpenARDF d25625285d
Update README.md 2020-06-06 16:36:30 -04:00
DigitalConfections b5ff574563
Merge pull request #15 from DigitalConfections/Dev1
Ver 0.10
2020-06-05 22:31:50 -04:00
DigitalConfections c3320467d4 Ver 0.10
o Added hardware watchdog support. Mostly to provide more reliable resets for the RST command.
2020-06-05 22:31:04 -04:00
DigitalConfections 78c1c66f09
Merge pull request #14 from DigitalConfections/Dev1
Ver 0.9.1
2020-06-04 16:01:32 -04:00
DigitalConfections 23060da67e Ver 0.9.1
o Set the audio output to Pin 9.
2020-06-04 16:01:00 -04:00
DigitalConfections 5f88e2bbaf
Merge pull request #13 from DigitalConfections/Dev1
Ver 0.9
2020-06-04 15:33:38 -04:00
DigitalConfections 7af94d1f1a Ver 0.9
o Added starting tones
o Added STA command to turn on/off starting tones
2020-06-04 15:32:08 -04:00
DigitalConfections be7fe46205
Merge pull request #12 from DigitalConfections/Dev1
Ver 0.8
2020-06-01 22:05:07 -04:00
DigitalConfections 7d87d02dc6 Ver 0.8
o Added support for Sprint. Sprint fox behavior is available only when using the serial port "DIP" command. Physical DIP switches work the same as before.

o Minor cleanup of comments and unneeded variables.
2020-06-01 22:03:55 -04:00
DigitalConfections d028c22300
Merge pull request #11 from DigitalConfections/Dev1
Ver 0.7
2020-05-31 17:10:46 -04:00
DigitalConfections 38fa2af9af Ver 0.7
o Serial TTY communications improvements to fix backspace bugs and prevent the user from overflowing buffers.
2020-05-31 17:10:11 -04:00
DigitalConfections be97ea7629
Merge pull request #10 from DigitalConfections/Dev1
Dev1
2020-05-31 08:26:24 -04:00
DigitalConfections 4e83a0ec01 Fix for g_clock_calibration
o Moved initializeEEPROMVars() back to the top of setup() to ensure g_clock_calibration gets read before first use.
2020-05-31 08:25:41 -04:00
DigitalConfections 8705049fb6 Buffer Overflow Fixed
o Adjusts the size of the serial transmit buffer to accommodate the largest string being sent.
o Updated version to 0.6
2020-05-30 16:59:32 -04:00
DigitalConfections e15eeff4a4
Merge pull request #9 from DigitalConfections/Dev1
Version 0.5
2020-05-30 09:48:49 -04:00
DigitalConfections 6fafb8d453 Version 0.5
o Clock calibration and station ID no longer get erased by a factory reset:
The only way to set these values is using the CAL and ID serial commands.
They still get initialized on an erased EEPROM, but never thereafter.
o MIT license added to all files.
2020-05-30 09:48:04 -04:00
DigitalConfections 935e3326a0
Merge pull request #8 from DigitalConfections/Dev1
Fixes an Oops in Version 0,4
2020-05-29 21:00:32 -04:00
DigitalConfections b9f99029db Fixes an Oops in Version 0,4
o Didn't update version number for version 0.4. This corrects that.
o Also increments the EEPROM flag.
2020-05-29 20:59:55 -04:00
DigitalConfections 43eca659fd
Merge pull request #7 from DigitalConfections/Dev1
Version 0.4
2020-05-29 20:37:41 -04:00
DigitalConfections ed82c999cb Version 0.4
o Fixes a problem with v0.3 in which Arduino changes the default values of Timer 2 registers.
o Turns off 30-second code speed-up for BEACON and Foxoring modes.
2020-05-29 20:33:54 -04:00
19 zmienionych plików z 1332 dodań i 540 usunięć

Wyświetl plik

@ -1,37 +1,51 @@
/**********************************************************************************************
* Copyright <EFBFBD> 2017 Digital Confections LLC
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in the
* Software without restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject to the
* following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
* FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
**********************************************************************************************/
/*
* MIT License
*
* Copyright (c) 2020 DigitalConfections
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#ifndef DEFS_H
#define DEFS_H
// #define COMPILE_FOR_ATMELSTUDIO7
#ifndef FALSE
#define FALSE 0
#endif
#ifdef COMPILE_FOR_ATMELSTUDIO7
#ifndef TRUE
#define TRUE !FALSE
#endif
#define COMPILE_FOR_ATMELSTUDIO7 FALSE
#define HARDWARE_EXTERNAL_DIP_PULLUPS_INSTALLED FALSE
#define CAL_SIGNAL_ON_PD3 FALSE
#if COMPILE_FOR_ATMELSTUDIO7
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#define USE_WDT_RESET TRUE
#else
#include "Arduino.h"
#define USE_WDT_RESET FALSE
#endif // COMPILE_FOR_ATMELSTUDIO7
#ifndef HIGH
@ -50,14 +64,15 @@
#define OUTPUT 0x1
#endif
#define bit_iz_set(sfr, bit) ((*(volatile uint8_t *)((uint16_t) &(sfr))) & (1 << bit))
#ifndef INPUT_PULLUP
#define INPUT_PULLUP 0x3
#endif
/* #define F_CPU 16000000UL / * gets declared in makefile * / */
/******************************************************
* Set the text that gets displayed to the user */
#define SW_REVISION "0.3"
#define SW_REVISION "0.23"
//#define TRANQUILIZE_WATCHDOG
@ -85,12 +100,18 @@ typedef unsigned char uint8_t;
#define null 0
#endif
#define PIN_NANO_LED 13
#define PIN_NANO_KEY 2
#define PIN_NANO_SYNC 3
#define PIN_NANO_DIP_0 4
#define PIN_NANO_DIP_1 5
#define PIN_NANO_DIP_2 6
#define PIN_MORSE_KEY 2
#define PIN_SYNC 3
#define PIN_DIP_0 4
#define PIN_DIP_1 5
#define PIN_DIP_2 6
#define PIN_UNUSED_7 7
#define PIN_UNUSED_8 8
#define PIN_AUDIO_OUT 9
#define PIN_UNUSED_10 10
#define PIN_CAL_OUT 11
#define PIN_UNUSED_12 12
#define PIN_LED 13
typedef enum {
BEACON = 0,
@ -101,9 +122,34 @@ FOX_4,
FOX_5,
FOX_DEMO,
FOXORING,
SPECTATOR,
SPRINT_S1,
SPRINT_S2,
SPRINT_S3,
SPRINT_S4,
SPRINT_S5,
SPRINT_F1,
SPRINT_F2,
SPRINT_F3,
SPRINT_F4,
SPRINT_F5,
SPRINT_DEMO,
NO_CODE_START_TONES_2M,
NO_CODE_START_TONES_5M,
INVALID_FOX
} FoxType;
#define MAX_CODE_SPEED_WPM 20
#define MIN_CODE_SPEED_WPM 5
typedef enum
{
WD_SW_RESETS,
WD_HW_RESETS,
WD_FORCE_RESET,
WD_DISABLE
} WDReset;
/*******************************************************/
@ -113,7 +159,7 @@ INVALID_FOX
/******************************************************
* EEPROM definitions */
#define EEPROM_INITIALIZED_FLAG 0xAE
#define EEPROM_INITIALIZED_FLAG 0xB9 /* Never set to 0xFF */
#define EEPROM_UNINITIALIZED 0x00
#define EEPROM_STATION_ID_DEFAULT "FOXBOX"
@ -127,36 +173,12 @@ INVALID_FOX
#define EEPROM_ON_AIR_TIME_DEFAULT 60
#define EEPROM_OFF_AIR_TIME_DEFAULT 240
#define EEPROM_INTRA_CYCLE_DELAY_TIME_DEFAULT 0
#define EEPROM_ID_TIME_INTERVAL_DEFAULT 300
#define EEPROM_CLOCK_CALIBRATION_DEFAULT 15629
#define EEPROM_TEMP_CALIBRATION_DEFAULT 147
#define EEPROM_OVERRIDE_DIP_SW_DEFAULT 0
#define EEPROM_ENABLE_LEDS_DEFAULT 1
#define EEPROM_ENABLE_SYNC_DEFAULT 1
#define EEPROM_SI5351_CALIBRATION_DEFAULT 0x00
#define EEPROM_CLK0_OUT_DEFAULT 133000000
#define EEPROM_CLK1_OUT_DEFAULT 70000000
#define EEPROM_CLK2_OUT_DEFAULT 10700000
#define EEPROM_CLK0_ONOFF_DEFAULT OFF
#define EEPROM_CLK1_ONOFF_DEFAULT OFF
#define EEPROM_CLK2_ONOFF_DEFAULT OFF
#define EEPROM_BATTERY_EMPTY_MV 3430
/******************************************************
* General definitions for making the code easier to understand */
#define SDA_PIN (1 << PINC4)
#define SCL_PIN (1 << PINC5)
#define I2C_PINS (SCL_PIN | SDA_PIN)
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE !FALSE
#endif
#define EEPROM_ENABLE_STARTTIMER_DEFAULT 1
#define EEPROM_ENABLE_TRANSMITTER_DEFAULT 1
#ifndef BOOL
typedef uint8_t BOOL;
@ -170,10 +192,9 @@ INVALID_FOX
#define UINT16_MAX __INT16_MAX__
#endif
#define ON 1
#define OFF 0
#define ON 1
#define TOGGLE 2
#define UNDETERMINED 3
#define MIN(A,B) ({ __typeof__(A) __a = (A); __typeof__(B) __b = (B); __a < __b ? __a : __b; })
@ -189,58 +210,26 @@ INVALID_FOX
#define MAX_TIME 4294967295L
#define MAX_UINT16 65535
#define MAX_INT16 32767
typedef enum
{
DOWN = -1,
NOCHANGE = 0,
UP = 1,
SETTOVALUE
} IncrType;
typedef enum
{
ANT_CONNECTION_UNDETERMINED,
ANT_ALL_DISCONNECTED,
ANT_2M_CONNECTED,
ANT_80M_CONNECTED,
ANT_2M_AND_80M_CONNECTED
} AntConnType;
typedef enum
{
POWER_UP,
POWER_SLEEP
} InitActionType;
#define QUAD_MASK 0xC0
#define QUAD_A 7
#define QUAD_B 6
#define MAX_TONE_VOLUME_SETTING 15
#define TONE_POT_VAL(x) (255 - (x*17))
#define MAX_MAIN_VOLUME_SETTING 15
#define POWER_OFF_DELAY 5000
#define BACKLIGHT_OFF_DELAY 5000
#define BACKLIGHT_ALWAYS_ON 65535
#define HEADPHONE_REMOVED_DELAY 100
#define POWERUP_LOW_VOLTAGE_DELAY 900 /* A short delay at first power up before declaring battery is too low */
#define LOW_VOLTAGE_DELAY 9000 /* A longer delay if the receiver has been running and the battery starts to sag */
#define CURSOR_EXPIRATION_DELAY 5000 /* Keep cursor displayed this long without user action */
#define LONG_PRESS_TICK_COUNT 1200 /* Press a button for this many ticks in order to access a long-press function */
#define SEND_ID_DELAY 4100
#define MIN_INT16 -32768
/* Periodic TIMER2 interrupt timing definitions */
#define TIMER2_57HZ 10
#define TIMER2_20HZ 49
#define TIMER2_5_8HZ 100
#define TIMER2_0_5HZ 1000
#define TIMER2_SECONDS_3 4283
#define TIMER2_SECONDS_2 2855
#define TIMER2_SECONDS_1 1428
#define BLINK_SHORT 100
#define BLINK_LONG 500
/* TIMER0 tone frequencies */
#define DEFAULT_TONE_FREQUENCY 0x2F
#define TONE_600Hz 0x1F
#define TONE_500Hz 0x3F
#define TONE_400Hz 0x4F
/******************************************************
* UI Hardware-related definitions */
@ -253,14 +242,6 @@ typedef enum
#define DISPLAY_WIDTH_STRING_SIZE (NUMBER_OF_LCD_COLS + 1)
typedef enum batteryType
{
BATTERY_9V,
BATTERY_4r2V,
BATTERY_EXTERNAL,
BATTERY_UNKNOWN
} BatteryType;
typedef enum
{
Minutes_Seconds, /* minutes up to 59 */

Wyświetl plik

@ -1,32 +1,34 @@
/**********************************************************************************************
* Copyright © 2017 Digital Confections LLC
/*
* MIT License
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in the
* Software without restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject to the
* following conditions:
* Copyright (c) 2020 DigitalConfections
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
* FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
**********************************************************************************************
* linkbus.c
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/* linkbus.c
*
*/
#include "linkbus.h"
#include "defs.h"
#ifdef COMPILE_FOR_ATMELSTUDIO7
#if COMPILE_FOR_ATMELSTUDIO7
#include <string.h>
#include <stdio.h>
#endif /* COMPILE_FOR_ATMELSTUDIO7 */
@ -45,10 +47,11 @@ static const char textHelp[][23] = { "\nCommands:\n",
" ID - Set callsign\n",
" LED - LED on/off\n",
" RST - Reset\n",
" SPD - Code speed\n",
" SYN - Sync on/off\n",
" SPD - ID code speed\n",
" STA - Start tones\n",
" TEM - Temperature\n",
" VER - S/W version\n" };
" VER - S/W version\n",
" TXE - Tx enable" };
static char g_tempMsgBuff[LINKBUS_MAX_MSG_LENGTH];
@ -344,12 +347,12 @@ BOOL lb_send_string(char* str, BOOL wait)
{
return( TRUE);
}
if(strlen(str) > LINKBUS_MAX_TX_MSG_LENGTH)
{
return( TRUE);
}
strncpy(g_tempMsgBuff, str, LINKBUS_MAX_TX_MSG_LENGTH);
if(wait)

Wyświetl plik

@ -1,25 +1,27 @@
/**********************************************************************************************
* Copyright <EFBFBD> 2017 Digital Confections LLC
/*
* MIT License
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in the
* Software without restriction, including without limitation the rights to use, copy,
* modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject to the
* following conditions:
* Copyright (c) 2020 DigitalConfections
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
* FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
**********************************************************************************************
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
/*
* linkbus.h - a simple serial inter-processor communication protocol.
*/
@ -27,22 +29,22 @@
#define LINKBUS_H_
#include "defs.h"
//#include "transmitter.h"
//#include "si5351.h"
#define LINKBUS_MAX_MSG_LENGTH 50
#define LINKBUS_MIN_MSG_LENGTH 2 /* shortest message: GO */
#define LINKBUS_MAX_MSG_FIELD_LENGTH 10
#define LINKBUS_MAX_MSG_NUMBER_OF_FIELDS 3
#define LINKBUS_NUMBER_OF_RX_MSG_BUFFERS 2
#define LINKBUS_MAX_TX_MSG_LENGTH 30
#define LINKBUS_MAX_TX_MSG_LENGTH 41
#define LINKBUS_NUMBER_OF_TX_MSG_BUFFERS 4
#define LINKBUS_MAX_COMMANDLINE_LENGTH ((1+LINKBUS_MAX_MSG_FIELD_LENGTH) * LINKBUS_MAX_MSG_NUMBER_OF_FIELDS)
#define LINKBUS_POWERUP_DELAY_SECONDS 6
#define LINKBUS_MIN_TX_INTERVAL_MS 100
#define FOSC 16000000 /* Clock Speed */
#define FOSC 16000000 /* Clock Speed */
#define BAUD 57600
#define MYUBRR(b) (FOSC / 16 / (b) - 1)
@ -90,21 +92,22 @@ typedef enum
MESSAGE_EMPTY = 0,
/* DUAL-BAND TX MESSAGE FAMILY (FUNCTIONAL MESSAGING) */
MESSAGE_CLOCK_CAL = 'C' * 100 + 'A' * 10 + 'L', /* Set Jerry's clock calibration value */
MESSAGE_CLOCK_CAL = 'C' * 100 + 'A' * 10 + 'L', /* Set Jerry's clock calibration value */
MESSAGE_FACTORY_RESET = 'F' * 100 + 'A' * 10 + 'C', /* Sets EEPROM back to defaults */
MESSAGE_OVERRIDE_DIP = 'D' *100 + 'I' * 10 + 'P', /* Override DIP switch settings using this value */
MESSAGE_LEDS = 'L' * 100 + 'E' * 10 + 'D', /* Turn on or off LEDs - accepts 1 or 0 or ON or OFF */
MESSAGE_SYNC_ENABLE = 'S' * 100 + 'Y' * 10 + 'N', /* Enable or disable transmitter syncing */
MESSAGE_TEMP = 'T' * 100 + 'E' * 10 + 'M', /* Temperature data */
MESSAGE_SET_STATION_ID = 'I' * 10 + 'D', /* Sets amateur radio callsign text */
MESSAGE_GO = 'G' * 10 + 'O', /* Synchronizes clock */
MESSAGE_CODE_SPEED = 'S' * 100 + 'P' * 10 + 'D', /* Set Morse code speeds */
MESSAGE_OVERRIDE_DIP = 'D' * 100 + 'I' * 10 + 'P', /* Override DIP switch settings using this value */
MESSAGE_LEDS = 'L' * 100 + 'E' * 10 + 'D', /* Turn on or off LEDs - accepts 1 or 0 or ON or OFF */
MESSAGE_TEMP = 'T' * 100 + 'E' * 10 + 'M', /* Temperature data */
MESSAGE_SET_STATION_ID = 'I' * 10 + 'D', /* Sets amateur radio callsign text */
MESSAGE_GO = 'G' * 10 + 'O', /* Synchronizes clock */
MESSAGE_CODE_SPEED = 'S' * 100 + 'P' * 10 + 'D', /* Set Morse code speeds */
MESSAGE_STARTTONES_ENABLE = 'S' * 100 + 'T' * 10 + 'A', /* Enables/disables the Starting Timer Tones */
MESSAGE_TRANSMITTER_ENABLE = 'T' * 100 + 'X' * 10 + 'E', /* Enables/disables transmitter keying */
/* UTILITY MESSAGES */
MESSAGE_RESET = 'R' * 100 + 'S' * 10 + 'T', /* Processor reset */
MESSAGE_VERSION = 'V' * 100 + 'E' * 10 + + 'R', /* S/W version number */
MESSAGE_RESET = 'R' * 100 + 'S' * 10 + 'T', /* Processor reset */
MESSAGE_VERSION = 'V' * 100 + 'E' * 10 + +'R', /* S/W version number */
INVALID_MESSAGE = UINT16_MAX /* This value must never overlap a valid message ID */
INVALID_MESSAGE = UINT16_MAX /* This value must never overlap a valid message ID */
} LBMessageID;
typedef enum

Wyświetl plik

@ -1,8 +1,25 @@
/*
* morse.c
* MIT License
*
* Created: 3/19/2018 3:15:40 PM
* Author: charl
* Copyright (c) 2020 DigitalConfections
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#include "morse.h"

Wyświetl plik

@ -1,11 +1,27 @@
/*
* morse.h
* MIT License
*
* Created: 3/19/2018 3:16:02 PM
* Author: charl
* Copyright (c) 2020 DigitalConfections
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#ifndef MORSE_H_
#define MORSE_H_

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 2.9 MiB

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -0,0 +1,10 @@
Boards were ordered from JLCPCP https://jlcpcb.com/
It's important to set up an account and login before uploading the zip file. Failure to do so could result in losing the file from your cart.
Just log in, upload the zip as is (they check the files instantly), select some options and the number of boards you want.
Typical cost for these boards is $25 / 15 boards with no discounts applied.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -0,0 +1,10 @@
files in this zip are:
1. readme.txt this file.
2. case_lid.stl the lid for the transmitter case.
3. bottom_half.stl the bottom main part of the case.
4. 80mbase.stl the sub chaassis that the PCB mounts on. Glue inside case.
5. audio_jack_holder.stl a bracket to hold optional audio jack for tone outputs.
6. 9vbattery_adaptor.stl a test adaptor for testbench testing with a powersupply.
All units are mm

Plik binarny nie jest wyświetlany.

175
README.md
Wyświetl plik

@ -1,2 +1,173 @@
# WB8WFK-ARDF-Foxoring-Transmitter
This is a simple, inexpensive, transmitter for conducting ARDF Foxoring competitions and for demonstrating ARDF principles. The project is an Arduino script that builds for and runs on an Arduino Nano.
<h1>WB8WFK ARDF Foxoring Transmitter</h1>
<p>This is a simple, inexpensive, transmitter and controller for conducting ARDF Foxoring competitions and for demonstrating ARDF principles. The software project is an Arduino script that builds for and runs on most Arduino-like products, including <a href="https://www.adafruit.com/product/2590">AdaFruit's Metro Mini 328</a>, or <a href="https://www.sparkfun.com/products/11113">SparkFun's Arduino Pro Mini 328</a>, and most any board with an ATMEGA328P processor.</p>
<p>Controller support for all the common ARDF competition formats is provided: Classic, Sprint, and Foxoring.</p>
<h2>Software</h2>
<p>The software is a proper Arduino script that will open and build without warnings or errors in Arduino IDE version 1.8.12 and later. It has also been shown to work with the online <a href="https://create.arduino.cc/editor">Arduino Web Editor</a>. The Arduino IDE can be used to program a device that contains a compatible bootloader. Most Arduino products ship with a bootloader pre-installed.</p>
<p>After being programmed, the controller can be configured via a serial port on the board. An Arduino board that includes a USB-to-Serial converter will allow you to configure the controller with a simple USB cable (standard to micro) connected between a USB port on your computer to one on the Arduino board. Less sophisticated Arduino boards lacking a USB-to-Serial converter will require a special FTDI cable like <a href="https://www.adafruit.com/product/70">AdaFruit's FTDI Serial TTL-232 USB Cable</a>, or <a href="https://www.sparkfun.com/products/9718">SparkFun's FTDI Cable 5V</a>.</p>
<p>The fox-controller software provides an output pin for controlling a transmitter for sending Morse code characters (high = key down; low = key up) and a separate pin that sends the Morse code as audio tones that can be used to drive a speaker. The controller can also provide a sequence of starting-tones prompting competitors to begin a competition, and can thus serve as an electronic starting "gun" for use in ARDF events.</p>
<h3>Serial Commands</h3>
<p>The fox-controller serial interface operates at 57600 baud, and can be accessed using any serial TTY interface program such as PuTTY or Arduino's own Serial Monitor tool. It provides a command prompt > indicating that it is ready to receive any of the following commands.
</p>
<pre><p><b>> CAL [num]</b> <= <i>* Sets the clock calibration for precise timing</i><br>
<b>> CAL</b> <= <i>Displays the clock calibration setting</i><br>
<b>> DIP [val]</b> <= <i>* Sets the competition format, overriding the DIP switch settings</i><br>
<b>> DIP</b> <= <i>Displays the competition format setting</i><br>
<b>> FAC</b> <= <i>Sets saved EEPROM values to their original defaults</i><br>
<b>> GO</b> <= <i>Starts operation from zero seconds, equivalent to pressing the sync button</i><br>
<b>> ID [string]</b> <= <i>* Sets the callsign that gets sent</i><br>
<b>> ID</b> <= <i>Displays the saved callsign setting</i><br>
<b>> LED [on|off]</b> <= <i>* Turns on/off LED pin</i><br>
<b>> LED</b> <= <i>Displays the LED pin setting</i><br>
<b>> RST</b> <= <i>Resets the processor</i><br>
<b>> SPD ID [num]</b> <= <i>* Sets the ID code speed in WPM</i><br>
<b>> SPD</b> <= <i>Displays the ID code speed setting</i><br>
<b>> STA [on|off]</b> <= <i>* Turns on/off the starting tones function</i><br>
<b>> STA</b> <= <i>Displays the starting tones setting</i><br>
<b>> TEM</b> <= <i>Displays the processor's temperature in C</i><br>
<b>> TXE [on|off]</b> <= <i>* Turns on/off the transmitter</i><br>
<b>> TXE</b> <= <i>Displays the transmitter setting</i><br>
<b>> VER</b> <= <i>Displays the software version number</i></p></pre>
<p>* These values get stored to EEPROM and are retained between power cycles. </p>
<h2>Hardware</h2>
<p>Look in the Hardware folder for all hardware-related documents</p>
<h3>Pinout</h3>
![Docs/ControllerPinout.png](Docs/ControllerPinout.png)
<pre><p><b>PB1 - Board Pin 9 (Output)</b> <= Audio Out (=Gnd when no tone)<br>
<b>PB5 - Board Pin 13 (Output)</b> <= LED On=VCC<br>
<b>PD2 - Board Pin 2 (Output)</b> <= Key/PTT On=VCC<br>
<b>PD3 - Board Pin 3 (Input)</b> <= Synchronize (mom. switch to Gnd)<br>
<b>PD4 - Board Pin 4 (Input)</b> <= DIP Switch Bit 0 (switch to Gnd)<br>
<b>PD5 - Board Pin 5 (Input)</b> <= DIP Switch Bit 1 (switch to Gnd)<br>
<b>PD6 - Board Pin 6 (Input)</b> <= DIP Switch Bit 2 (switch to Gnd)</p></pre>
<h2>Usage</h2>
<p>The transmitter can be configured using the serial port, or using the DIP switch and sync-button hardware interface. Only a subset of the possible configurations is available when using only the hardware interface. Configuring the DIP setting with a serial port command to anything but CLASSIC BEACON (zero) will disable the hardware DIP switch.</p>
<p>In the table below, default settings are shown in <b>boldface</b>. Serial command arguments may be abbreviated using the first letter of the word. For example: <b>> DIP CLASSIC BEACON</b> can be shortened to <b>> DIP C B</b>.</p>
<p>
<table>
<tr>
<th>Function</th>
<th>Software Commands</th>
<th>Hardware Settings</th>
</tr>
<tr>
<td>Homing Beacon</td>
<td><b>> DIP CLASSIC BEACON</b><br>[Note: the DIP switch must also be set to 0-0-0]</td>
<td>DIP = 0-0-0</td>
</tr>
<tr>
<td>Classic Fox#1</td>
<td>> DIP CLASSIC 1<br>> GO</td>
<td>DIP = 0-0-1<br>Sync to start</td>
</tr>
<tr>
<td>Classic Fox#2</td>
<td>> DIP CLASSIC 2<br>> GO</td>
<td>DIP = 0-1-0<br>Sync to start</td>
</tr>
<tr>
<td>Classic Fox#3</td>
<td>> DIP CLASSIC 3<br>> GO</td>
<td>DIP = 0-1-1<br>Sync to start</td>
</tr>
<tr>
<td>Classic Fox#4</td>
<td>> DIP CLASSIC 4<br>> GO</td>
<td>DIP = 1-0-0<br>Sync to start</td>
</tr>
<tr>
<td>Classic Fox#5</td>
<td>> DIP CLASSIC 5<br>> GO</td>
<td>DIP = 1-0-1<br>Sync to start</td>
</tr>
<tr>
<td>Classic Demonstration</td>
<td>> DIP CLASSIC DEMO</td>
<td>DIP = 1-1-0</td>
</tr>
<tr>
<td>Foxoring</td>
<td>> DIP FOXORING</td>
<td>DIP = 1-1-1</td>
</tr>
<tr>
<td>Spectator Beacon</td>
<td>> DIP FOXORING SPEC</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Slow #1</td>
<td>> DIP SPRINT S1</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Slow #2</td>
<td>> DIP SPRINT S2</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Slow #3</td>
<td>> DIP SPRINT S3</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Slow #4</td>
<td>> DIP SPRINT S4</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Slow #5</td>
<td>> DIP SPRINT S5</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Fast #1</td>
<td>> DIP SPRINT F1</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Fast #2</td>
<td>> DIP SPRINT F2</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Fast #3</td>
<td>> DIP SPRINT F3</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Fast #4</td>
<td>> DIP SPRINT F4</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Fox Fast #5</td>
<td>> DIP SPRINT F5</td>
<td>N/A</td>
</tr>
<tr>
<td>Sprint Demonstration</td>
<td>> DIP SPRINT DEMO</td>
<td>N/A</td>
</tr>
<tr>
<td>Starting Tones Generator</td>
<td>> DIP [any of the above]<br><b>> STA ON</b><br>> GO</td>
<td>N/A</td>
</tr>
<tr>
<td>Synchronize</td>
<td>> GO</td>
<td>Pull sync pin low for at least 1 second<br>Allow sync pin to rise<br>[Must happen within 1 fox cycle after power-on]</td>
</tr>
</table>
</p>