-
Development Day 46
08/11/2015 at 22:16 • 0 commentsDevelopment Day 46
-corrected small reflector pin misalignment on reflector when machine was open
-need to design logo bitmap
-
Development Day 45
08/11/2015 at 22:16 • 0 commentsDevelopment Day 45
-uhr value is reset to 0 and saved when uhr is hidden because less than 10 plugs are used
-moved plugs down one pixel on DrawSteckerTop
-rewrote DrawRotorBoxContents, no flicker and pins display right, draws ok when flat rotor visible & returning from plugs
-need to eliminate display bugs on DrawMechanismRotors
-Draw Mechanism rotors now switches from short to long rotors-need to align pins and erase greek rotor type when switching
DrawMechanismRotots works, switches from short to long, erases old gamma rotor, draws pins on long & short
-
Development Day 40
08/11/2015 at 22:15 • 0 commentsDevelopment Day 40
Fixed bug in double stepping, double stepping is not restricted by position of rightmost wheel, eliminated conditions.Test cases: 1,2,3 ADU,ADV,AEW,BFX 6,7,8 YYY YYZ YZA ZAB LLL LLM LMN MNO AZY BAZ BBA BBB NML ONM OON OOO ZZX AAY AAZ ABA MMK NNL NNN NON AYZ AZA BAB NLM NMN ONO
-reflector can be changed, A->B->C->Bd->Cd
-machine closing logic & greek rotor placement logic now work with all reflectors
-changed uhr display from 0..9 to double digits 00..09
-eliminated flicker from uhr digit display
-plugs are now stored in the order they are entered. This order is important for Uhr calculations
-eliminated flicker from flat rotor 1st digit display
-fixed bug where uhr digit would not erase after flicker logic was added
-
Development Day 34
08/11/2015 at 22:15 • 0 commentsDevelopment Day 34
-start of flat rotor selection logic
-couple of bugs when returning rotor to box or returning from plugboard when flat rotor is visible
-Rotor type/position goes correctly from upper or lower box to center-need to delete it from the top when selected
-fixed bug in Uhr related to changing ints to bytes, if (p < 0), p needs to be char (char is signed, byte is not)
-previously fixed bug in GUI(), d = sqrt(...pow(y-yc,2)), d needed to be int since y can be > 255
-bugs related to int(16b) to byte(8b) conversion seem to be caught
-logic to move rotor from bottom to middle to top and top to middle to bottom works
-rotor can be extracted from top to examine ring setting and put back with same wheel setting.
-verified enigma algorithm works with different wheels, wheel settings, rotor settings, plugs and uhr
-machine can not be closed if rotors are missing, all settings saved to eeprom
This is the last version with verbose enigma algorithm, will remove Serial.prints in next version
before Serial.print cleanup:
Sketch uses 25,396 bytes (78%) of program storage space. Maximum is 32,256 bytes.
Global variables use 673 bytes (32%) of dynamic memory, leaving 1,375 bytes for local variables. Maximum is 2,048 bytes.
after cleanup:
Sketch uses 23,982 bytes (74%) of program storage space. Maximum is 32,256 bytes.
Global variables use 497 bytes (24%) of dynamic memory, leaving 1,551 bytes for local variables. Maximum is 2,048 bytes.
-only beta or gamma rotor can be placed next to thin reflector
-only rotors 1..8 can be placed on the next three positions
-machine cannot be closed if rotors are missing
-
Development Day 33
08/11/2015 at 22:15 • 0 commentsDevelopment Day 33
UI improvements:
Opening and closing of cover to set rotors.
Lamps shown instead of letters
Rotors can be set with cover open, saves to eeprom
Texture settings can be changed
Rotor box shows empty spaces for installed rotors
need to do:
-stecker changes do not save rotor position, create working copy of rotor starting positions.
-move rotors from box to lamp to machine and back-change ringstellung settings
-stecker changes do not save rotor position, a working copy of rotor starting positions exists.
-rotor positions are saved if changed with the cover open
-draws contacts, type, letter and ringstellung position on side rotor
-can change setting of flat rotor on its side.
-flat rotor can be cleared
-beginning of open rotor click area logic
-
Development Day 25
08/11/2015 at 22:15 • 0 commentsDevelopment Day 25
Uhr settable via rotary wheel.
-need to calculate reflector for Uhr value
-need GUI to set rotor type/position/ring setting
-
Development Day 21
08/11/2015 at 22:15 • 0 commentsDevelopment Day 21
-Fixed random clearing of printer tape by specifying x>220 & x<240
-Need to add same logic to entering stecker GUI (y>300 & y<320)
-Added screws to top drawing of stecker
-Added fixed calculated UHR of 03 for AB CD EF GH IJ KL MN OP QR ST
-Need to calculate UHR dynamically
-Need GUI for rotor selection & ring setting
-
Development Day 19
08/11/2015 at 22:15 • 0 commentsDevelopment Day 19
-Steckers can be seen from panel view
-Uhr is shown when 10 pairs of plugs are installed
-Uhr position is saved to EEPROM
-Rotor position inside wheel now works. Enigma engine is completed and works fine.
Next:
-Uhr position needs to compute new effective stecker
-GUI to set rotor type and position and reflector type
-
Development Day 18
08/11/2015 at 22:15 • 0 commentsDevelopment Day 18
Stecker board gui:
-lists shows current settings
-deletes current mapping
-creates new mappings
-saves mappings to EEPROM upon exiting gui if changes were made
-
Development Day 17
08/11/2015 at 22:14 • 0 commentsDevelopment Day 17
Start of Stecker board GUI