Skip to content

Commit

Permalink
V3.5.1
Browse files Browse the repository at this point in the history
  • Loading branch information
felias-fogg committed Sep 13, 2023
1 parent e79454b commit 737c5d2
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 8 deletions.
11 changes: 8 additions & 3 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
# Changelog for dw-link

## Version 3.5.0
## Version 3.5.1 (13-Sep-2023)

* RAM measurement has been disabled.

## Version 3.5.0 (13-Sep-2023)

* Changed minimal initial bps for DW line from 10 to 5 in expectUCalibrate
* Changed timeout from 100000 to 300000 in expectBreakAndU
* Changed timeout in calibrate (in dwSerial) to 700 ms
* Testing with low baud rates on the DW line uncovered an interesting bug: It can happen that when calibrating, we wait too long in the write method for the end of the stop bit (caused by rounding errors in computing the bit delay times). Waiting long enough is usually the right thing to do (we do not want to write too fast!). However, in cases we have to re-calibrate, one cannot employ the usual method that the ICF interrupt will capture an early falling edge (and then reads the incoming character). In short: We need a way to tell the write method to finish sometimes already before the end of the stop bit!
* New protected member in SingleWireSerial: `_finshSendingEarly`
* Use now sendCmd in class dwSerial instead of sendCommand as a function in dw-link
* Use now sendCmd in class dwSerial instead of the sendCommand function in dw-link
* sendCmd has a new optional last parameter, which when true, will finish early; default is false
* In all cases, when a response or a break is expected, we now finish early, and the cases that led to problems are now OK.
* In all cases, when a response or a break is expected, we now finish early, and the cases that led to problems are now OK
* Calibration and all works now down to 3 kHz MCU clock. Amazing! But completely useless.
* Changed MAXBREAK from 33 to 25 (meaning 80 additional free bytes!) because otherwise we had only 10 bytes of free memory when TXODEBUG was active, which actually led to a crash! I never ever used 32 breakpoints and even 25 are probably too many.

## Version 3.4.0 (12-Sep-2023)
Expand Down
2 changes: 1 addition & 1 deletion docs/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

**Bernhard Nebel**

**Version 3.0 - August 2023**
**Version 3.0 - September 2023**

<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.

Expand Down
10 changes: 7 additions & 3 deletions docs/wishlist.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Wish list for dw-link

* rewrite compile-time conditionals so that they do not show up as errors in PIO

* reorganize BP management: have a list of stored and a list of new BPs, which would save us 3 bytes per BP, i.e., we could easily go from 25 to 30 BPs -- but be careful!

* maybe have a variable length break, dependent on the speed of ISP?

* implement semi-hosting
Expand Down Expand Up @@ -38,9 +42,9 @@
* Adding response in dw-link to one special byte in order to be able to identify the debug serial port
* writing Python function for identifying debug port

* Erasing MCU when lock bits are set
* write hook to set UPLOAD\_PORT and DEBUG\_PORT in extra\_script. Well, we do nt set the vars, but set the bytes inline
* Explaining how to recover UNO (SOldering + Bootloader burning) in Manual
* Erasing MCU automatically when lock bits are set
* write hook to set UPLOAD\_PORT and DEBUG\_PORT in extra\_script.
* Explaining how to recover UNO (soldering + Bootloader burning) in Manual
* remove part about lock bits in Manual
* remove automatic speed recognition
* delete the fancy control stuff in dw-link
Expand Down
2 changes: 1 addition & 1 deletion dw-link/dw-link.ino
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
// #define OFFEX2WORD 1 // instead of simu. use offline execution for 2-word instructions
// #define TXODEBUG 1 // allow debug output over TXOnly line
// #define SCOPEDEBUG 1 // activate scope debugging on PORTC
#define FREERAM 1 // measure free ram
// #define FREERAM 1 // measure free ram
// #define UNITALL 1 // enable all unit tests
// #define UNITDW 1 // enable debugWIRE unit tests
// #define UNITTG 1 // enable target unit tests
Expand Down

0 comments on commit 737c5d2

Please sign in to comment.