|
|
@@ -1,18 +1,23 @@
|
|
|
|
# sstv e36 encoder
|
|
|
|
# sstv e36 encoder
|
|
|
|
|
|
|
|
|
|
|
|
This is a SSTV encoder, currently it is in work, but it has some modes already:
|
|
|
|
This is a SSTV "encoder", currently it is in work, but it has some modes already:
|
|
|
|
|
|
|
|
|
|
|
|
|Support?|Mode |
|
|
|
|
Future plans for a decoder have been made. I do not plan to do any decoding
|
|
|
|
|--------|------------|
|
|
|
|
soon. Wayy to much of a workload, high cortisol!
|
|
|
|
|[x] |Martin 1 |
|
|
|
|
|
|
|
|
|[x] |Martin 2 |
|
|
|
|
## Support Table:
|
|
|
|
|[x] |Robot 36 |
|
|
|
|
|
|
|
|
|[x] |Scottie 1 |
|
|
|
|
|Support?|Mode | Encode | Decode |
|
|
|
|
|[x] |Scottie 2 |
|
|
|
|
|--------|------------|--------|--------|
|
|
|
|
|[x] |ScottieD(S)X|
|
|
|
|
|[x] |Martin 1 |[x] |[] |
|
|
|
|
|
|
|
|
|[x] |Martin 2 |[x] |[] |
|
|
|
|
|
|
|
|
|[x] |Robot 36 |[x] |[] |
|
|
|
|
|
|
|
|
|[x] |Scottie 1 |[x] |[] |
|
|
|
|
|
|
|
|
|[x] |Scottie 2 |[x] |[] |
|
|
|
|
|
|
|
|
|[x] |ScottieD(S)X|[x] |[] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Written in _pure_ **C**
|
|
|
|
Written in _pure_ **C** with some _Makefiles_ to pull it together
|
|
|
|
|
|
|
|
|
|
|
|
## License:
|
|
|
|
## License:
|
|
|
|
|
|
|
|
|
|
|
@@ -29,7 +34,7 @@ Be sure to follow this style of code, it is not that complex,
|
|
|
|
and some parts you can even tell Vim or Emacs or whatever you use to automate it,
|
|
|
|
and some parts you can even tell Vim or Emacs or whatever you use to automate it,
|
|
|
|
like the header definitions (default i think on vs and some others).
|
|
|
|
like the header definitions (default i think on vs and some others).
|
|
|
|
|
|
|
|
|
|
|
|
#### Headers:
|
|
|
|
#### Defining Headers:
|
|
|
|
|
|
|
|
|
|
|
|
Try to follow this general pattern.
|
|
|
|
Try to follow this general pattern.
|
|
|
|
In of itself it is relativley easy to maintain this structure.
|
|
|
|
In of itself it is relativley easy to maintain this structure.
|
|
|
@@ -40,7 +45,8 @@ _**This is just standard C17 Standard**_
|
|
|
|
#ifndef HEADER_H
|
|
|
|
#ifndef HEADER_H
|
|
|
|
#define HEADER_H
|
|
|
|
#define HEADER_H
|
|
|
|
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <stdint.h> // <> is for "glibc" stuff
|
|
|
|
|
|
|
|
#include "encoder/sound/wav.h" // "" for local stuff. which isnt "glibc"
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
typedef struct {
|
|
|
|
uint8_t type;
|
|
|
|
uint8_t type;
|
|
|
@@ -51,6 +57,20 @@ int method_to_use(mystruct_t type);
|
|
|
|
#endif // !HEADER_H
|
|
|
|
#endif // !HEADER_H
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Refer to "[Using Headers](#using-headers)" for how to use Headers!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Using Headers:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
You may define your Header files as module like structures! Like in Java!
|
|
|
|
|
|
|
|
This is nicer to work with cause you dont need to then dump everything into the project root!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In you C File:
|
|
|
|
|
|
|
|
```c
|
|
|
|
|
|
|
|
#include "decoder/modes/martin.h" // for example
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you add a new module, you may add to the Makefile. as a -I CFLAG!
|
|
|
|
|
|
|
|
|
|
|
|
#### C Files:
|
|
|
|
#### C Files:
|
|
|
|
|
|
|
|
|
|
|
|
For a real implementation this stub below would make 0 sense,
|
|
|
|
For a real implementation this stub below would make 0 sense,
|
|
|
@@ -64,7 +84,7 @@ permitted to comment some swear words.
|
|
|
|
Great example of commenting : "robot36.c"
|
|
|
|
Great example of commenting : "robot36.c"
|
|
|
|
|
|
|
|
|
|
|
|
```c
|
|
|
|
```c
|
|
|
|
#include "header.h"
|
|
|
|
#include "header.h" // Refer to Using Headers
|
|
|
|
|
|
|
|
|
|
|
|
#define PI 3
|
|
|
|
#define PI 3
|
|
|
|
#define SOME_DEF 67
|
|
|
|
#define SOME_DEF 67
|
|
|
@@ -74,6 +94,16 @@ int method_to_use(mystruct_t type) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
References:
|
|
|
|
|
|
|
|
- [Using Headers](#using-headers)
|
|
|
|
|
|
|
|
- [Defining Headers](#defining-headers)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Defining new Modes:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you have the balls to define a new Mode, then refer to the Dayton Papers!
|
|
|
|
|
|
|
|
And when your done make this [Table](#support-table) complete!
|
|
|
|
|
|
|
|
|
|
|
|
### Our License:
|
|
|
|
### Our License:
|
|
|
|
#### MIT :
|
|
|
|
#### MIT :
|
|
|
|
```
|
|
|
|
```
|
|
|
|