wip on configuration
This commit is contained in:
parent
a19568b8a8
commit
3b3f0162d4
101
enigma.ino
101
enigma.ino
@ -383,7 +383,32 @@ void demo () {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum ConfigOptionType { YesNo, EnigmaList, RotorList, ThinRotorList, Plugboard, Scalar };
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
char *prompt;
|
||||||
|
ConfigOptionType type;
|
||||||
|
void *target;
|
||||||
|
void (*skip) ();
|
||||||
|
void (*blink) ();
|
||||||
|
} ConfigOption;
|
||||||
|
|
||||||
|
EnigmaType enigma_type;
|
||||||
|
|
||||||
|
ConfigOption config_options[] = {
|
||||||
|
{ "Demo?", YesNo, &demo_mode, NULL, NULL },
|
||||||
|
{ "Enigma Type?", EnigmaList, &enigma_type, NULL, NULL },
|
||||||
|
{ "Right Rotor?", RotorList, &rotor_type[0], NULL, NULL },
|
||||||
|
{ "Middle Rotor?", RotorList, &rotor_type[1], NULL, NULL },
|
||||||
|
{ "Left Rotor?", RotorList, &rotor_type[2], NULL, NULL },
|
||||||
|
{ "Thin Rotor?", ThinRotorList, &rotor_type[2], NULL, NULL },
|
||||||
|
{ "Plugboard?", Plugboard, &plugboard, NULL, NULL }
|
||||||
|
};
|
||||||
|
|
||||||
|
int config_option_index = 0;
|
||||||
|
|
||||||
void config () {
|
void config () {
|
||||||
|
|
||||||
// demo? y/n -> demo_mode
|
// demo? y/n -> demo_mode
|
||||||
// enigma type? menu -> enigma_type
|
// enigma type? menu -> enigma_type
|
||||||
// rotor[
|
// rotor[
|
||||||
@ -414,6 +439,80 @@ void loop () {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
https://cryptocellar.org/Enigma/index.html
|
https://cryptocellar.org/Enigma/index.html
|
||||||
|
https://cryptocellar.org
|
||||||
http://www.mlb.co.jp/linux/science/genigma/enigma-referat/node4.html#SECTION00043000000000000000
|
http://www.mlb.co.jp/linux/science/genigma/enigma-referat/node4.html#SECTION00043000000000000000
|
||||||
|
http://www.macs.hw.ac.uk/~foss/valentin/Naval%20Enigma.html
|
||||||
|
https://github.com/melick/enigma
|
||||||
|
https://www.codesandciphers.org.uk/enigma/example1.htm
|
||||||
|
https://www.codesandciphers.org.uk/enigma/index.htm
|
||||||
|
https://www.codesandciphers.org.uk/enigma/enigma2.htm
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
Codebook
|
||||||
|
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 30 | I V IV | VAX | AX CE DK IM TG WF | LQT |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 29 | IV V II | JNF | AL KI MT NB UH ZR | SYO |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 28 | III IV II | FHT | AW IS JR KB YH ZX | TJE |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 27 | V III I | OQY | AZ CV DN FJ TU WP | IIF |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 26 | IV I V | GRT | BG ER IJ LF OC ZP | GST |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 25 | V II IV | HCE | BR CJ QX UF YO ZT | OJT |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 24 | III V IV | FAK | IQ RH UZ WM XJ YC | BKW |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 23 | II III I | QMD | CQ IH KY RW VL XT | QSU |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 22 | II IV III | JSI | AN FH JV ML RO WD | KNQ |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 21 | II IV I | JMY | AP BM GD NS QV RC | HWO |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 20 | IV I III | GMX | AB TD WE XH YP ZF | BOD |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 19 | V III II | COA | FR IT PE QD SH XZ | EGM |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 18 | V II I | VTU | FJ GR KC LS NX WA | MTJ |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 17 | II I III | KKX | BV CO LG MK SY WN | JLY |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 16 | II I III | MJO | GQ IL KF OD PS UC | NBV |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 15 | II V IV | MFX | CL DS HK JX MW YN | IEU |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 14 | I V II | TTN | DA IH JS KU TP WZ | MYF |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 13 | IV V I | TEV | AP CM LB NZ UI XS | KJP |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 12 | III II IV | RXS | BO CL DY GR SI WA | EAF |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 11 | II III I | MXN | CZ KB ME NL QP TS | BLW |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 10 | I IV II | OHP | FU GR LJ OA QX VI | LEB |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 9 | III I V | PQY | AG MC NU QI TX ZV | NWT |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 8 | III I V | CJN | AN EC OK UI WT YB | BTD |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 7 | II IV I | HJI | CM HX KW SJ TI UQ | MPD |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 6 | II I III | HID | AP BM GK TY VJ XI | JIJ |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 5 | II V I | ESJ | FV JK OT PY SE ZH | XMB |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 4 | IV I III | JJN | AE NH OU VR XZ YQ | WTV |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 3 | V II I | MPB | BU LS ND PG TA XM | OFS |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 2 | III II V | NXR | BR GV HN MD WL ZI | KSU |
|
||||||
|
+------------------------------------------------+
|
||||||
|
| 1 | I IV V | PIE | MC OG SH VI WL YQ | RBU |
|
||||||
|
+------------------------------------------------+
|
||||||
|
|
||||||
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user