Porównaj commity
156 Commity
Autor | SHA1 | Data |
---|---|---|
OpenARDF | 702853fff5 | |
DigitalConfections | de8117ec50 | |
DigitalConfections | c27a55e35c | |
OpenARDF | 4575e7375a | |
DigitalConfections | 51669df5fa | |
DigitalConfections | 1d06291192 | |
OpenARDF | aa128953b1 | |
DigitalConfections | 98a8509166 | |
DigitalConfections | 067cd632d8 | |
DigitalConfections | 0f8d7c3c17 | |
OpenARDF | 1aec987789 | |
DigitalConfections | 7bbaa18ba5 | |
DigitalConfections | d983c25a1f | |
OpenARDF | 25d167bcef | |
OpenARDF | 5e14820a9f | |
DigitalConfections | 4e6f53b6ac | |
DigitalConfections | 77d1d6efca | |
OpenARDF | a26d73bd8c | |
DigitalConfections | cb13e15b2d | |
DigitalConfections | 66f0725561 | |
OpenARDF | 577afe155b | |
DigitalConfections | bbb8ec02e4 | |
DigitalConfections | 8979a4f901 | |
DigitalConfections | 9e8684387c | |
OpenARDF | 39e2dd490e | |
OpenARDF | 92a97bb446 | |
OpenARDF | a1ffa97dca | |
DigitalConfections | f5b206d94a | |
DigitalConfections | 4e7ba6b599 | |
OpenARDF | e03ba18449 | |
DigitalConfections | 92876ee5d7 | |
DigitalConfections | f442284fd9 | |
DigitalConfections | 54eed8d328 | |
DigitalConfections | 8c84dc7a55 | |
OpenARDF | bcbb0b0913 | |
DigitalConfections | d770836d64 | |
DigitalConfections | 5058ab46f7 | |
OpenARDF | 3054f49ddd | |
DigitalConfections | 8d2083537d | |
DigitalConfections | aa3048ebfa | |
OpenARDF | f6757ae1ea | |
DigitalConfections | b5849b413f | |
DigitalConfections | 7988098e81 | |
OpenARDF | 0d32c3dbb0 | |
DigitalConfections | 9fd2f82f7b | |
DigitalConfections | d0f7726b16 | |
OpenARDF | 438a750ff0 | |
DigitalConfections | 6f7b3925d2 | |
DigitalConfections | f9373c5297 | |
DigitalConfections | 2f99dc4fdc | |
OpenARDF | 6931ebedbe | |
DigitalConfections | 65caacab52 | |
DigitalConfections | 1e7c390adc | |
DigitalConfections | 7ca74a3c31 | |
OpenARDF | be83094cc0 | |
OpenARDF | b049975f87 | |
DigitalConfections | dec5d110ab | |
DigitalConfections | b839d3e9fd | |
DigitalConfections | ed29983008 | |
DigitalConfections | 634ee88492 | |
DigitalConfections | a895156b99 | |
DigitalConfections | be002dce99 | |
DigitalConfections | 2ffc01966b | |
DigitalConfections | b5720d5567 | |
OpenARDF | c4e9b669a6 | |
DigitalConfections | f08696d885 | |
DigitalConfections | 2b123c1667 | |
DigitalConfections | 66c14e2228 | |
OpenARDF | 883e972d4e | |
DigitalConfections | b78980ae0d | |
DigitalConfections | bb973ecc1d | |
OpenARDF | 868a1808c8 | |
DigitalConfections | 8920c411b7 | |
DigitalConfections | a68a7cef80 | |
OpenARDF | 0ca1639405 | |
DigitalConfections | f525a4ded2 | |
DigitalConfections | a2333f28d0 | |
DigitalConfections | 55fa8d6ed3 | |
OpenARDF | 8cc83b43b7 | |
DigitalConfections | 2e393e90e9 | |
OpenARDF | 2e6272367c | |
DigitalConfections | c905311c15 | |
DigitalConfections | 401ebece92 | |
DigitalConfections | a295a52b8c | |
OpenARDF | cdb0c534cf | |
DigitalConfections | 50b28d85ab | |
DigitalConfections | 9cf03b658d | |
DigitalConfections | 90063c5ded | |
OpenARDF | 6ce6ebfc34 | |
OpenARDF | 94d2718ffb | |
OpenARDF | 5a29fe3518 | |
OpenARDF | ed4805818d | |
OpenARDF | 21f83a397a | |
OpenARDF | 5993d94ecc | |
OpenARDF | 3446238ca7 | |
OpenARDF | 23e8e8e6c9 | |
OpenARDF | 57a4dc704f | |
OpenARDF | 40a3e2a504 | |
OpenARDF | 5527497c5c | |
OpenARDF | 1cbf7cee5a | |
DigitalConfections | 61b67e36ec | |
DigitalConfections | 59f52863ba | |
DigitalConfections | 0a424d927a | |
DigitalConfections | 21752c5b24 | |
DigitalConfections | ff9fed29c1 | |
DigitalConfections | 2a4c2928e3 | |
OpenARDF | 62dfd5fc01 | |
DigitalConfections | c36de46624 | |
DigitalConfections | ce11193781 | |
DigitalConfections | 1c3831cc72 | |
DigitalConfections | f9832392a9 | |
DigitalConfections | 303a5669ba | |
DigitalConfections | 94d648804d | |
DigitalConfections | e161fae1ea | |
DigitalConfections | 8657a848a7 | |
DigitalConfections | 4f1087046d | |
DigitalConfections | fc749c0e00 | |
DigitalConfections | acf2dc1085 | |
OpenARDF | 4bcc1ed17e | |
OpenARDF | 0e7bf25798 | |
OpenARDF | f8c96146e0 | |
OpenARDF | aa554b3d02 | |
OpenARDF | f4190bfc0e | |
OpenARDF | eb1ed093d4 | |
OpenARDF | de89637f47 | |
OpenARDF | 87cfc69714 | |
OpenARDF | 19f6f24bbd | |
OpenARDF | 66236ecc72 | |
OpenARDF | f914c28fca | |
OpenARDF | f4d1fc568c | |
OpenARDF | ffb14b86e9 | |
OpenARDF | 3dbb7d26ec | |
OpenARDF | fed0d1329a | |
OpenARDF | bbd85b4753 | |
OpenARDF | b4957f5f7e | |
OpenARDF | 0cbbc6d8b2 | |
DigitalConfections | 1781f22d41 | |
OpenARDF | 9182024df1 | |
OpenARDF | 43f789a236 | |
OpenARDF | cef2ae5eb5 | |
OpenARDF | d25625285d | |
DigitalConfections | b5ff574563 | |
DigitalConfections | c3320467d4 | |
DigitalConfections | 78c1c66f09 | |
DigitalConfections | 23060da67e | |
DigitalConfections | 5f88e2bbaf | |
DigitalConfections | 7af94d1f1a | |
DigitalConfections | be7fe46205 | |
DigitalConfections | 7d87d02dc6 | |
DigitalConfections | d028c22300 | |
DigitalConfections | 38fa2af9af | |
DigitalConfections | be97ea7629 | |
DigitalConfections | 4e83a0ec01 | |
DigitalConfections | 8705049fb6 | |
DigitalConfections | e15eeff4a4 | |
DigitalConfections | 6fafb8d453 |
Plik diff jest za duży
Load Diff
|
@ -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.4"
|
||||
#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 0xAF
|
||||
#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 */
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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.
|
@ -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.
|
@ -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
175
README.md
|
@ -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>
|
||||
|
|
Ładowanie…
Reference in New Issue