diff --git a/Documentation/User Manual/Version 5.x/m32_user-Manual_v5.adoc b/Documentation/User Manual/Version 5.x/m32_user-Manual_v5.adoc index dc94bd6..2d5b086 100644 --- a/Documentation/User Manual/Version 5.x/m32_user-Manual_v5.adoc +++ b/Documentation/User Manual/Version 5.x/m32_user-Manual_v5.adoc @@ -940,9 +940,9 @@ The following parameters control how characters are generated and played randoml |Description |Values -| Interchar Spc | The time (in lengths of a dit) that is inserted between characters (see section <> ) | 3 -- 15 [**3**] +| Interchar Spc | The time (in lengths of a dit) that is inserted between characters (see section <> ) | 3 -- 45 [**3**] -| Interword Spc | The time (in lengths of a dit) that is inserted between words (see section <> ) | 6 -- 45 [**7**] +| Interword Spc | The time (in lengths of a dit) that is inserted between words (see section <> ) | 6 -- 105 [**7**] | Random Groups | For the output of groups of random characters, determine which character subsets should be included | Alpha / Numerals / Interpunct. / Pro Signs / Alpha + Num / Num+Interp. / Interp+ProSn / Alpha+Num+Int / Num+Int+ProS / All Chars diff --git a/Documentation/User Manual/Version 5.x/m32_user-Manual_v5.pdf b/Documentation/User Manual/Version 5.x/m32_user-Manual_v5.pdf index 315e1ba..8ca9de5 100644 Binary files a/Documentation/User Manual/Version 5.x/m32_user-Manual_v5.pdf and b/Documentation/User Manual/Version 5.x/m32_user-Manual_v5.pdf differ diff --git a/Documentation/User Manual/Version 5.x/m32_user-Manual_v5_de.adoc b/Documentation/User Manual/Version 5.x/m32_user-Manual_v5_de.adoc index 49e7535..053d40a 100644 --- a/Documentation/User Manual/Version 5.x/m32_user-Manual_v5_de.adoc +++ b/Documentation/User Manual/Version 5.x/m32_user-Manual_v5_de.adoc @@ -939,9 +939,9 @@ Die folgenden Parameter steuern, wie Zeichen zufällig generiert und abgespielt |Description |Values -| Interchar Spc | Der zeitliche Abstand (als Anzahl von Dits) der zwischen Zeichen eingefügt wird (siehe den Abschnitt <>) | 3 -- 15 [**3**] +| Interchar Spc | Der zeitliche Abstand (als Anzahl von Dits) der zwischen Zeichen eingefügt wird (siehe den Abschnitt <>) | 3 -- 45 [**3**] -| Interword Spc | Der zeitliche Abstand (als Anzahl von Dits) der zwischen Wörtern eingefügt wird (siehe den Abschnitt <>) | 6 -- 45 [**7**] +| Interword Spc | Der zeitliche Abstand (als Anzahl von Dits) der zwischen Wörtern eingefügt wird (siehe den Abschnitt <>) | 6 -- 105 [**7**] | Random Groups | Für die Ausgabe von Gruppen von zufälligen Zeichen legt man hier fest, welche Zeichenuntermengen inkludiert sein sollen. | Alpha (Buchstaben)/ Numerals (Ziffern) / Interpunct. (Satzzeichen) / Pro Signs (Betriebsabk.)/ Alpha + Num / Num+Interp. / Interp+ProSn / Alpha+Num+Int / Num+Int+ProS / All Chars (Alle) diff --git a/Documentation/User Manual/Version 5.x/m32_user-Manual_v5_de.pdf b/Documentation/User Manual/Version 5.x/m32_user-Manual_v5_de.pdf index 62c0c5e..471e3d2 100644 Binary files a/Documentation/User Manual/Version 5.x/m32_user-Manual_v5_de.pdf and b/Documentation/User Manual/Version 5.x/m32_user-Manual_v5_de.pdf differ diff --git a/Software/README.md b/Software/README.md index b81cae5..515783b 100644 --- a/Software/README.md +++ b/Software/README.md @@ -4,13 +4,13 @@ It is now quite straightforward to set up an environment to build the Morserino-32 binary code from the source. As we are using now the latest ESP32 libraries from Heltec, and the source of the Clivkbutton library has been included into the source, there is no need to hunt for libraries. -**NOTICE: As Heltec changed their development environment libraries to accomodate newer products, you might need to set up an environment with their older library versions!** +**NOTICE: As Heltec changed their development environment libraries to accomodate newer products, these instructions do not work anymore, and you might need to set up an environment with their older library versions!** 1. Set up the Arduino IDE from . -2. Install on your computer the USB driver for the SiLabs CP2104 chip, used in the Heltec board for USB communication. Follow these instructions: . +2. Install on your computer the USB driver for the SiLabs CP2104 chip, used in the Heltec board for USB communication. Follow these instructions: . -3. Install the development framework through the Arduino IDE; follow these instructions: . +3. Install the development framework through the Arduino IDE; follow these instructions: . **NOTICE: As Heltec changed their development environment libraries to accomodate newer products, this might not work flawlessly anymore!** 4. Get the source for the latest Morserino-32 firmware from GitHub (). @@ -18,6 +18,15 @@ It is now quite straightforward to set up an environment to build the Morserino- ## Change History +### Changes V.5.0.1 + +#### Bug fixes: +* A change of values for inter character space and inter word space was registered and shown on display, but only became effective after a restart. Fixed. +* In Koch trainer, the length of words and abbreviations was not handled correctly (generated things were always max l-1 long, not l). Fixed. + +#### Feature Modification +* The max value for inter character space was changed from 24 to 45, and the max value for inter word space from 45 to 105, to accommodate the initial settings used by CW Academy. + ### Changes V.5.0 #### Bug fixes: diff --git a/Software/binary/m32_v5.0.1.ino.wifi_lora_32_V2.bin b/Software/binary/m32_v5.0.1.ino.wifi_lora_32_V2.bin new file mode 100644 index 0000000..be6f186 Binary files /dev/null and b/Software/binary/m32_v5.0.1.ino.wifi_lora_32_V2.bin differ diff --git a/Software/binary/m32_v5.0.1.ino.wifi_lora_32_V2.md5 b/Software/binary/m32_v5.0.1.ino.wifi_lora_32_V2.md5 new file mode 100644 index 0000000..233ce04 --- /dev/null +++ b/Software/binary/m32_v5.0.1.ino.wifi_lora_32_V2.md5 @@ -0,0 +1 @@ +d3d05776f767a4627acc6d96572d9cdc diff --git a/Software/binary/m32_v5.ino.wifi_lora_32_V2.bin b/Software/binary/m32_v5.0.ino.wifi_lora_32_V2.bin similarity index 100% rename from Software/binary/m32_v5.ino.wifi_lora_32_V2.bin rename to Software/binary/m32_v5.0.ino.wifi_lora_32_V2.bin diff --git a/Software/binary/m32_v5.ino.wifi_lora_32_V2.md5 b/Software/binary/m32_v5.0.ino.wifi_lora_32_V2.md5 similarity index 100% rename from Software/binary/m32_v5.ino.wifi_lora_32_V2.md5 rename to Software/binary/m32_v5.0.ino.wifi_lora_32_V2.md5 diff --git a/Software/src/Version 5/MorsePreferences.cpp b/Software/src/Version 5/MorsePreferences.cpp index 66037c3..866048d 100644 --- a/Software/src/Version 5/MorsePreferences.cpp +++ b/Software/src/Version 5/MorsePreferences.cpp @@ -120,14 +120,14 @@ parameter MorsePreferences::pliste[] = { {"No Tone Shift", "Up 1 Half", "Down 1 Half"} }, { - 7, 6, 45, 1, // Generator: normal interword spacing in lengths of dit, 6 - 45 ; default = norm = 7 + 7, 6, 105, 1, // Generator: normal interword spacing in lengths of dit, 6 - 45 ; default = norm = 7 "InterWord Spc", "The time (in dits) that is inserted between generated words", false, {} }, { - 3, 3, 24, 1, // for generators: intercharacter space, in dit dit lengths + 3, 3, 45, 1, // for generators: intercharacter space, in dit dit lengths; default = 3 "Interchar Spc", "Space between generated characters, in dits", false, @@ -873,6 +873,7 @@ void MorsePreferences::handleKochSequence() { MorsePreferences::kochCharsLength = MorsePreferences::kochMaximum = 51; MorsePreferences::kochMinimum = 1; MorsePreferences::kochFilter = constrain(MorsePreferences::kochFilter, MorsePreferences::kochMinimum, MorsePreferences::kochMaximum); + koch.setup(); } } @@ -881,6 +882,7 @@ void MorsePreferences::handleCarouselChange() { MorsePreferences::kochMinimum = kochCharsLength > 18 ? 19 : 1; //DEBUG("@ 842: kMin: " + String(MorsePreferences::kochMinimum) + " kMax: " + String(MorsePreferences::kochMaximum)); MorsePreferences::kochFilter = constrain(MorsePreferences::kochFilter, MorsePreferences::kochMinimum, MorsePreferences::kochMaximum); + koch.setup(); } @@ -1139,6 +1141,8 @@ void MorsePreferences::writePreferences(String repository) { } // end of "special cases" } // end of "stored value is different" } // end of "for all these preferences" + updateTimings(); + pref.end(); // DEBUG("end l. 1087"); } @@ -1446,7 +1450,9 @@ Koch::Koch() { void Koch::createWords(uint8_t maxl, uint8_t koch) { // this function creates an array of words that are compliant to Koch filter and max word length numberOfWords = 0; + //DEBUG("ptr: " + String(maxl)); //DEBUG("koch: " + String(koch)); + maxl = (maxl == 0 ? 0 : maxl+1); for (int i = EnglishWords::WORDS_POINTER[maxl]; i< EnglishWords::WORDS_NUMBER_OF_ELEMENTS; ++i) { // do this for all words with max length maxl if (wordIsKoch(EnglishWords::words[i]) <= koch) { wordIndices[numberOfWords++] = i; @@ -1456,8 +1462,11 @@ void Koch::createWords(uint8_t maxl, uint8_t koch) { // this fu void Koch::createAbbr(uint8_t maxl, uint8_t koch) { // this function creates an array of abbrevs that are compliant to Koch filter and max word length numberOfAbbr = 0; + maxl = (maxl == 0 ? 0 : maxl+1); + //DEBUG("ptr: " + String(maxl)); for (int i = Abbrev::ABBREV_POINTER[maxl]; i< Abbrev::ABBREV_NUMBER_OF_ELEMENTS; ++i) { // do this for all words with max length maxl + DEBUG(Abbrev::abbreviations[i]); if (wordIsKoch(Abbrev::abbreviations[i]) <= koch) abbrIndices[numberOfAbbr++] = i; } diff --git a/Software/src/Version 5/MorsePreferences.h b/Software/src/Version 5/MorsePreferences.h index a178d14..fc99f2e 100644 --- a/Software/src/Version 5/MorsePreferences.h +++ b/Software/src/Version 5/MorsePreferences.h @@ -178,7 +178,7 @@ namespace MorsePreferences void handleKochSequence(); void handleCarouselChange(); void setCustomChars(String); - void kochSetup(); + //void kochSetup(); void loraSystemSetup(); void determineBoardVersion(); void calibrateVoltageMeasurement(); diff --git a/Software/src/Version 5/morsedefs.h b/Software/src/Version 5/morsedefs.h index b9a9682..66bd47e 100644 --- a/Software/src/Version 5/morsedefs.h +++ b/Software/src/Version 5/morsedefs.h @@ -35,13 +35,13 @@ const String PROJECTNAME = "Morserino-32"; #define VERSION_MAJOR 5 #define VERSION_MINOR 0 -#define VERSION_PATCH 0 +#define VERSION_PATCH 1 #define BETA false // using the M32 serial protocol -//define M32Protocol version +//define M32Protocol version updateTimings() #define M32P_VERSION "1.0" /////// protocol version for Lora - for the time being this is B01