8000 GitHub - OK1GAL/digigen: Tool for simulating digital modes
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

OK1GAL/digigen

Repository files navigation

Digigen

Simple digital modes generator for RPI Pico
Originaly made for testing RTTY on R-154-2(M) receiver
Currently supports CW, RTTY and hellschreiber

Mode Mode ID LEDs
Carier 0 00
CW 1 01
RTTY 2 10
HELL 3 11

Image of the PCB.

HW connections Both EEPROM and SI5351 share the same bus.
SDA: 4
DCL: 5
ERROR LED: 2
TTY_TX_PIN: 8
TTY_RX_PIN: 9
MODE0_LED_PIN: 10
MODE1_LED_PIN: 11
RUNNING_LED_PIN: 13
SPACE_LED_PIN: 15
MARK_LED_PIN: 14
PROG1_LED_PIN: 16
PROG2_LED_PIN: 17
PROG3_LED_PIN: 18
PROGRAM_BTN_PIN: 20
TEST_BTN_PIN: 21
RUN_FROM_EEPROM_BTN_PIN: 22

Commands:

Command description example syntax
help prints help help
config prints current config config
txen x sets the carier tx state txen 1
drives x sets the SI5351 drive strenght 0=2mA 1=4mA 2=6mA 3=8mA drives 3
cfreq x sets center frequency cfreq 7100000
sfreq x sets frequency deviation sfreq 125
cwspeed x sets CW speed in WPM cwspeed 25
baud x sets baudrate baud 50
settext sets custom tx message settext
txtext transmits custom tx message with current mode txtext
txmode x sets the tx mode, 0:carier 1:CW 2:RTTY 3:HELL txmode 1
mancwtx starts direct CW transmition mancwtx
manrttytx starts direct RTTY transmision manrttytx
savep x saves current config to location x in EEPROM savep 7
loadp x loads config from preset x loadp 7
txtext transmits saved message txtext
default memory formating default
hellspeed x sets the hell baudrate hellspeed 125
manhelltx starts direct HELL transmision manhelltx
txbeacon x starts beaconing saved text in x seconds period txbeacon 3

Important

To exit any direct transmition use ctrl+c.

Tip

You can run preset from memory using "RUN EEPROM" button after choosing the preset using "CYCLE EEPROM".

Warning

Hellschreiber was not tuned yet, so it might be a bit off.

EEPROM memory map 0x0000-0x003f last config
0x0040-0x007f preset 0
0x0080-0x00bf preset 1
0x00c0-0x00ff preset 2
0x0100-0x013f preset 3
0x0140-0x017f preset 4
0x0180-0x01bf preset 5
0x01c0-0x01ff preset 6
0x0200-0x023f preset 7
0x0240-0x027f Calibration data

Preset organisation:
Each preset is 64 bytes long
value offset type size
mode 0 uint8 1B
cfreq 1 uint64 8B
sfreq 9 uint64 8B
baudrate 17 uint16 2B
cw speed 19 uint8 1B
drive strenght 20 uint8 1B
hell speed 20 uint8 1B
custom text length 31 uint8 1B
custom text 32 char array 32B

TODO

  • Make it posible o load preset from console (curently posible only from buttons)
  • Add posibility to set drive strenght (2mA/4mA/6mA/8mA)
  • Add calibration procedure
  • Add detection of uninitiated memory and automatic initialization
  • Add command to enter custom message for preset
  • Add beacon mode
  • Make beacon loadable by buttons
  • Add Hellschreiber
  • Complete Hellschreiber LUT
  • Add suport for TTY/HELL interface. (3.5mm jack)
  • Optimize memory usage. (no need for 64bit uint for frequency etc.)
  • Use atoi(), atol()... for number input
  • Use mode 0 for something more sensible, carier can be turned on in CW
  • Expand custom text (realocate EEPROM)

About

Tool for simulating digital modes

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0