RadioLib
Universal wireless communication library for Arduino
|
1 #if !defined(_RADIOLIB_SSTV_H)
2 #define _RADIOLIB_SSTV_H
4 #include "../../TypeDef.h"
6 #if !defined(RADIOLIB_EXCLUDE_SSTV)
8 #include "../PhysicalLayer/PhysicalLayer.h"
9 #include "../AFSK/AFSK.h"
15 #define SSTV_SCOTTIE_1 60
16 #define SSTV_SCOTTIE_2 56
17 #define SSTV_SCOTTIE_DX 76
18 #define SSTV_MARTIN_1 44
19 #define SSTV_MARTIN_2 40
20 #define SSTV_WRASSE_SC2_180 55
21 #define SSTV_PASOKON_P3 113
22 #define SSTV_PASOKON_P5 114
23 #define SSTV_PASOKON_P7 115
26 #define SSTV_TONE_LEADER 1900
27 #define SSTV_TONE_BREAK 1200
28 #define SSTV_TONE_VIS_1 1100
29 #define SSTV_TONE_VIS_0 1300
30 #define SSTV_TONE_BRIGHTNESS_MIN 1500
31 #define SSTV_TONE_BRIGHTNESS_MAX 2300
34 #define SSTV_HEADER_LEADER_LENGTH 300000
35 #define SSTV_HEADER_BREAK_LENGTH 10000
36 #define SSTV_HEADER_BIT_LENGTH 30000
129 #if !defined(RADIOLIB_EXCLUDE_AFSK)
151 int16_t
begin(
float base,
const SSTVMode_t& mode,
float correction = 1.0);
153 #if !defined(RADIOLIB_EXCLUDE_AFSK)
190 #ifndef RADIOLIB_GODMODE
194 #if !defined(RADIOLIB_EXCLUDE_AFSK)
200 bool _firstLine =
true;
202 void tone(
float freq, uint32_t len = 0);
void sendHeader()
Sends synchronization header for the SSTV mode set in begin method.
Definition: SSTV.cpp:204
uint16_t height
Picture height in pixels.
Definition: SSTV.h:86
uint16_t width
Picture width in pixels.
Definition: SSTV.h:81
Structure to save data about supported SSTV modes.
Definition: SSTV.h:71
uint8_t visCode
Unique VIS code of the SSTV mode.
Definition: SSTV.h:76
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:17
Structure to save data about tone.
Definition: SSTV.h:43
void sendLine(uint32_t *imgLine)
Sends single picture line in the currently configured SSTV mode.
Definition: SSTV.cpp:241
uint16_t scanPixelLen
Pixel scan length in us.
Definition: SSTV.h:91
uint16_t freq
Frequency of tone in Hz, set to 0 for picture scan tones.
Definition: SSTV.h:63
SSTVClient(PhysicalLayer *phy)
Constructor for 2-FSK mode.
Definition: SSTV.cpp:157
uint8_t numTones
Number of tones in each transmission line. Picture scan data is considered single tone.
Definition: SSTV.h:96
uint32_t len
Length of tone in us, set to 0 for picture scan tones.
Definition: SSTV.h:58
tone_t tones[8]
Sequence of tones in each transmission line. This is used to create the correct encoding sequence.
Definition: SSTV.h:101
void idle()
Sends out tone at 1900 Hz.
Definition: SSTV.cpp:199
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:14
int16_t begin(float base, const SSTVMode_t &mode, float correction=1.0)
Initialization method for 2-FSK.
Definition: SSTV.cpp:182
Client for SSTV transmissions.
Definition: SSTV.h:120
uint16_t getPictureHeight() const
Get picture height of the currently configured SSTV mode.
Definition: SSTV.cpp:280
enum tone_t::@0 type
Tone type: GENERIC for sync and porch tones, SCAN_GREEN, SCAN_BLUE and SCAN_RED for scan lines.