diff --git a/SPECIFICATIONS/AX25_Usage_on_Spino.md b/SPECIFICATIONS/AX25_Usage_on_Spino.md new file mode 100644 index 0000000000000000000000000000000000000000..7ded5d4fc2792da32eaec9c8a29d363a39da642a --- /dev/null +++ b/SPECIFICATIONS/AX25_Usage_on_Spino.md @@ -0,0 +1,83 @@ +| Last modification | Status | +|-------------------- |--------- | +| 22/02/2022 | Draft | + +# AX25 Usage on Spino +## References +### Applicable document +(AX.25 Protocol Specification) [http://www.tapr.org/pdf/AX25.2.2.pdf] +## AX25 : unnumbered frame +### Description +As described in the protocol, the unnumbered frame (U frame) is structured as follows : + +| Flag | Address | Control | Info | FCS | Flag | +|----------|---------|---------|------|-----|----------| +| 01111110 | 112 | 16 | N*8 | 16 | 01111110 | + +In the spino use, the frame is used as : + +| Flag | Destination Address | Source Address | Control Bits | Protocol | Information Field | Frame Check Sequence | Flag | +|------|----------------------|----------------|--------------|----------|-------------------|-----------------------|------| +| 8 | 56 | 56 | 8 | 8 | 0-2048 | 16 | 8 | + + +#### Flag + +The flag field is one octet long. Because the flag delimits frames, it occurs at both the beginning and end of each frame. Two frames may share one flag, which would denote the end of the first frame and the start of the next frame. +A flag consists of a zero followed by six ones followed by another zero, or 01111110 (0x7E). + +In order to ensure that the flag bit sequence mentioned above does not appear accidentally anywhere else in a frame, bit stuffing is applied. The sender monitors the bit sequence for a group of five or more contiguous '1' bits. Any time five contiguous '1' bits are sent, the sending station inserts a '0' bit after the fifth '1' bit. During frame reception, any time five contiguous '1' bits are received, a '0' bit immediately following five '1' bits is discarded. + +### Source - Destination address +Adress consists of the callsign and the Secondary Station Identifier (SSID). +The callsign is made up of 6 upper-case letters, numbers or space ASCII characters only (7 bits). +The SSID is a four-bit integer that uniquely identifies multiple stations using the same amateur callsign + +The 6 characters of the callsign are placed in the first 6 octets of the field (C1 to C6). Each character bits are shifted one bit on the left and the least significant bit is set to '0'. The SSID is placed in the bits 3-6. The other bits of the field have a fixed value +#### Control Bits (8 bits) +The control field identifies the type of frame being passed and controls several attributes of the Layer 2 connection. For an AX.25 Unnumbered Information Frame, its value is always 00000011 (0x03). +#### Protocol Identifier (8 bits) +Shall be 11110000 (0xF0) + +### Frame-Check Sequence (16 bits) +The Frame-Check Sequence is a 16-bit number calculated by both the sender and the receiver of a frame. It ensures that the frame was not corrupted by the transmission medium. The Frame-Check Sequence is a CRC calculated using polynomial x16 + x12 + x5 + 1 (also +called CRC-CITT + +### Information Field (0 to 2048 bits) + +The Information Field contains the data specific to the usage of the AX.25 Transfer Frame. +The maximum size of the Information Field is 2048 bits. + +## SPINO usage + +Spino allows two usages : +- Hamradio experimentation +- Telecomand/telemetry management for satellite + +#### Hamradio experimentation + + A dedicated callsign is defined for Hamradio experimentation. + If the associated capability of the spino is not active all packet with the correponding SSID are droped + + | SSID | Usage | Comments | link to the description | +|------|-----------------------|---------------------------------------------------------------------|-------------------------| +| 0 | Not used | | | +| 1 | Telemetry | used for Spino telemetry | | +| 2 | Short message mailbox | Used for Short message mailbox capability | | +| 3 | | | | +| 4 | | | | +| 5 | | | | +| 6 | | | | +| 7 | | | | +| 8 | | | | +| 9 | | | | +| 10 | | | | +| 11 | | | | +| 12 | | | | +| 13 | | | | +| 14 | | | | +| 15 | SPINO TM/TC | Reserved to team in charge of Spino experiment (Command & Control) | | + +#### Telecomand/telemetry management for satellite + +TBD diff --git a/SPECIFICATIONS/FailsafeMode.md b/SPECIFICATIONS/FailsafeMode.md new file mode 100644 index 0000000000000000000000000000000000000000..e95b6734aae7adb6dd9ab044a3b32a67484d970c --- /dev/null +++ b/SPECIFICATIONS/FailsafeMode.md @@ -0,0 +1,26 @@ + +| Last modification | Status | +|-------------------- |--------- | +| 21/02/2022 | Draft | + + +# Failsafe mode + +## scope + +When the board start or if a reset is received, the software goes in failsafe mode. Only telemetry is sent. All other functionality of the Spino card is on idle mode or power off. + +## Communication mode + +- Failsafe FSK 2400bd modulation + +After communications to the community via WEBsite and Twitter, other modulations will be tested..) + + +## Usage + +### system reset (Service Message) + +### setting of modulations used (Service Message) + +### activation / deactivation of a beacon mode and periodicity (Service Message) \ No newline at end of file diff --git a/SPECIFICATIONS/MailboxMode.md b/SPECIFICATIONS/MailboxMode.md new file mode 100644 index 0000000000000000000000000000000000000000..3b69cfbf61019f51b66437a56a85d988363d9319 --- /dev/null +++ b/SPECIFICATIONS/MailboxMode.md @@ -0,0 +1,79 @@ +| Last modification | Status | +|-------------------- |--------- | +| 21/02/2022 | Draft | + +# Short message mailbox mode + +## Scope + +Allows to the users to create a temporary dedicated mailbox to a user and allow him to store short messages for other users + + +## Maibox Capability + +- up to 64 mailbox available in the same time (64 users) +- up to 16 messages per mailboxes +- Message size limited to 242 bytes (message limited to 242 bytes (dest_call_7_bytes + ref_count_7_bytes + 242 = 256) +- Automatic setup of a new mailbox when an unknown destination station is assessed +- Automatic expiration of messages after 72h +- Automatic expiration of users as soon as the mailbox is empty +- Messages are managed like a FIFO stack + +## Usage + +### Sending a message + +Scenario to send a message (AX25 header ignored, the considered protocol layer is encapsulated in the payload): +The "ARSxyz" station sends a message to the "ARSuvw" station +-> sending "ARSxyz" station identified by its call in the AX25 header +-> AX25 payload consisting of : call destination station + reference counter + message (424 bytes max) +<- ACK from SPINO (or NACK : limit of the destination mailbox exceeded, or impossible to create a new mailbox) + + + +### viewing the list of messages of a box + +- (list of 16 messages identified by sender and number) + + +### viewing a message + +(identified by its number) + +### delete a message + +(identified by its number) + +### viewing the list of active mailboxes + +- viewing the list of active mailboxes (list of max 64 active mailboxes at a given time) + + +### flush of mailboxes (Service Message) + + + +## Activation + +- +- based on AX25 protocol +- Service message (protected by a private key as head of the payload) are read/write of configuration registers allowing : + + + + + + + + + + + + + + + + + + + diff --git a/SPECIFICATIONS/README.md b/SPECIFICATIONS/README.md new file mode 100644 index 0000000000000000000000000000000000000000..18fd767e45ab890a7fb1b6160ec8989e5de3906d --- /dev/null +++ b/SPECIFICATIONS/README.md @@ -0,0 +1,13 @@ + +# Summary + +## Mode + +- [Spino Mode and state](./States.md) +- [Failsafe Mode](./FailsafeMode.md) +- [Short Message Mailbox Mode](./MailboxMode.md) + +## Messages + +- [AX25 Usage on Spino](./AX25_Usage_on_Spino.md) +- [Short message Mailbox messages](./Short_message_mailbox_messages_description.md) diff --git a/SPECIFICATIONS/Short_message_mailbox_messages_description.md b/SPECIFICATIONS/Short_message_mailbox_messages_description.md new file mode 100644 index 0000000000000000000000000000000000000000..400299a83322150446f9a1fa33db70c2e6fb304c --- /dev/null +++ b/SPECIFICATIONS/Short_message_mailbox_messages_description.md @@ -0,0 +1,30 @@ +| Last modification | Status | +|-------------------- |--------- | +| 22/02/2022 | Draft | + +# Short message mailbox messages description + + + +## Command message +### AX25 UI Frame +| Flag | Destination Calssign | Destination SSID | Source Address | Source SSID | Control Bits | Protocol | Mailbox commandes | Mailbox Parameters | Frame Check Sequence | Flag | +|------|----------------------|-------------------|----------------|--------------|-------------|----------|-------------------|-------------------|-----------------------------|------| +| 8 | 48 | 8 | 48 | 8 | 8 | 8 | 8 | 0-242 | 16 | 8 | + +#### Commands + + + +| Command Name | Commande value | parameters | comment | +|:-----------------------------:|:--------------:|:--------------------------------------------------------:|:-------:| +| Add Message | 0 | Message contents [0-242] bytes | | +| Delette message | 1 | Mailbox Name : (Callsign) 6 byte | | +| | | Message ID : 1 byte | | +| Delette mailbox | 2 | Mailbox Name : (Callsign) 6 byte | | +| List all mailbox | 3 | | | +| List all message in a mailbox | 4 | Mailbox Name : (Callsign) 6 byte | | +| Flush all mailbox | 5 | secure word : 4 bytes | | +| | | | | + + diff --git a/SPECIFICATIONS/States.md b/SPECIFICATIONS/States.md new file mode 100644 index 0000000000000000000000000000000000000000..6efb6a911189edde42a453d9bee5243dfd0f1f84 --- /dev/null +++ b/SPECIFICATIONS/States.md @@ -0,0 +1,11 @@ +| Last modification | Status | +|-------------------- |--------- | +| 21/02/2022 | Draft | + + +# States diagram + +![State diagram](./States.svg) + +- [Failsafe Mode](./FailsafeMode.md) +- \ No newline at end of file diff --git a/SPECIFICATIONS/States.svg b/SPECIFICATIONS/States.svg new file mode 100644 index 0000000000000000000000000000000000000000..f0eee179b1986bb60099d0c78a8284576e7141f1 --- /dev/null +++ b/SPECIFICATIONS/States.svg @@ -0,0 +1,4 @@ + + + +

Failsafe

Failsafe

Short Message Mailbox

Short Message Mailbox

Digital Transponder

Digital Transponder
MailBoxCommande
MailBoxCommande
TransponderCommande
TransponderCommande
TranspondeurCommandeOFF
TranspondeurCommandeOFF
PowerOn
PowerOn
Text is not SVG - cannot display
\ No newline at end of file