Added readme
This commit is contained in:
parent
98d2093485
commit
c1967d5863
21
README.md
21
README.md
|
@ -1,2 +1,23 @@
|
|||
OpenModem
|
||||
==========
|
||||
|
||||
OpenModem is an open source firmware implementation of a AFSK modem supporting 300, 1200 and 2400 baud operation, suitable for communication over a wide variety of analogue mediums, both radio and wired. The firmware is designed for and compatible with [unsigned.io's OpenModem](https://unsigned.io/openmodem), but can be used on any similar build.
|
||||
|
||||
Complete modems are available from [the unsigned.io shop](http://unsigned.io/shop), or can be build from scratch by referring to the schematics and documentation on the [OpenModem page](https://unsigned.io/openmodem)
|
||||
|
||||
## A few highlights
|
||||
|
||||
- 300, 1200 and 2400 baud operation
|
||||
- Full KISS TNC compatibility
|
||||
- Secure in-modem AES-128 encryption
|
||||
- SD card support
|
||||
- Packet logging in PCAP format (WireShark compatible)
|
||||
- Digitally adjustable input and output gain control
|
||||
- Easy to use graphical config utility
|
||||
- Supports standard GPS and bluetooth modules
|
||||
- Supports large packets, 576 byte MTU
|
||||
- Very large in-modem packet queue
|
||||
|
||||
## Usage
|
||||
|
||||
Please refer to the manual and instructions posted at the [OpenModem page](https://unsigned.io/openmodem). The default serial connection settings are 115200 baud, 8N1. For configuring the modem, please see the OpenModem Config Utility.
|
7
device.h
7
device.h
|
@ -34,7 +34,7 @@
|
|||
#define CONFIG_BENCHMARK_MODE false
|
||||
|
||||
// CSMA Settings
|
||||
#define CONFIG_FULL_DUPLEX false // TODO: Actually implement fdx
|
||||
#define CONFIG_FULL_DUPLEX false
|
||||
#define CONFIG_CSMA_P_DEFAULT 255
|
||||
#define CONFIG_CSMA_SLOTTIME_DEFAULT 20
|
||||
|
||||
|
@ -42,7 +42,10 @@
|
|||
#define AX25_MAX_FRAME_LEN 611
|
||||
#define AX25_MAX_PAYLOAD 576
|
||||
#define AX25_MIN_PAYLOAD 2
|
||||
#define AX25_ENCRYPTED_MIN_LENGTH 51 // Padding byte + IV + 1 Block + HMAC + CRC
|
||||
#define AX25_ENCRYPTED_MIN_LENGTH 51
|
||||
// The minimum packet length of an AES-128
|
||||
// encrypted packet is equal to:
|
||||
// padding byte + IV + 1 Block + HMAC + CRC
|
||||
|
||||
// Packet settings
|
||||
#define CONFIG_PASSALL false
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#include "util/FIFO.h"
|
||||
#include "protocol/HDLC.h"
|
||||
|
||||
// TODO: Optimise RAM by moving this to progmem
|
||||
#define SIN_LEN 512
|
||||
static const uint8_t sine_table[] =
|
||||
{
|
||||
|
@ -98,7 +97,7 @@ inline static uint8_t sinSample(uint16_t i) {
|
|||
#define PHASE_BITS 8 // Sub-sample phase counter resolution
|
||||
#endif
|
||||
|
||||
#define PHASE_INC 1 // Nudge by above resolution for each adjustment
|
||||
#define PHASE_INC 1 // Nudge by above resolution for each adjustment
|
||||
|
||||
|
||||
#define PHASE_MAX (ADC_SAMPLESPERBIT * PHASE_BITS) // Size of our phase counter
|
||||
|
|
Loading…
Reference in New Issue