Commit Graph

239 Commits

Author SHA1 Message Date
ole00 0761907067 PC App: fixed help text: serial port information 2024-04-03 21:43:32 +01:00
ole00 a3968f5c00 PC app release v.0.5.8 - updated 2024-03-23 16:20:30 +00:00
ole00 3b4921daa2 build script for OSX: compile with preprocessor _OSX_
The preprocessor symbol helps to distinguish the serial port
detection rule (OSX/Linux).
2024-03-23 16:16:46 +00:00
ole00 4238800190 PC App: guesses the serial port device name
When the serial device name is not passed with paramerer -d
then the PC app will try to find an existing serial device.

* On Windows: selects the COM device with the highest number.
* On Linux: selects the serial usb device in any order, but
       priority is given to devices with Arduino name.
* ON MAC OS: selects the last  /dev/tty.* or /dev/tty/wchusb*
       device in the order that OS lists them.

This serial port detection should work OK if you have only one
Arduino attached. If you have (and need to have) several
Arduinos or serial ports connected at the same time then pass
the '-d' parameter to specify which one to use.
2024-03-23 16:08:29 +00:00
ole00 e9aaf41c48 PC app release v.0.5.8 - updated 2024-03-23 11:04:36 +00:00
ole00 a48de726bf PC app: fix progress bar compatibility
The proress bar cusros hiding/revealing sequence was not
compatible with some Windows versions / shells.
This fix removes the escaped sequences and ensures the progress
bar is fully printed at the end of each iteration, which prevents
the visual artefacts caused by the jumping cursor.
2024-03-23 11:01:00 +00:00
ole00 1589119e7c sketch: setPinMux: unset internal pull-up on DOUT when inactive
See issue #61
2024-03-22 07:14:51 +00:00
ole00 37f93be2d3 PC app release v.0.5.8 - updated 2024-03-19 21:05:47 +00:00
ole00 757e13e55f build scripts: pass git commit hash as preprocessor symbol 2024-03-19 21:05:47 +00:00
ole00 52466f64c6 PC app: added git commit to version info 2024-03-19 21:05:47 +00:00
ole00 a9bf98b719 Sketch: reduced duration on VPP ramp-up
The VPP ramp-up was too long after the change of the calibration
scale in recent commits.
2024-03-19 21:05:32 +00:00
ole00 dabfcf5aad PC app: increase maximum time to wait for VPP measurement 2024-03-19 20:43:23 +00:00
ole00 79e33ab2a5 PC app: fix serial port read buffer overflow
Overflow happened when verbose printouts were enabled
in the Arduino sketch.
2024-03-19 20:41:43 +00:00
ole00 2754ff5c47 PC app: fixed typos in help text 2024-03-19 18:58:25 +00:00
ole00 49342b2174
README.md updated info about tap indices during calibration
The latest calibration indices are 2x higher than  in previous version.
2024-03-18 20:23:50 +00:00
ole00 e6d9a6ea2e
README.md: re-calibration needed for ver. 0.5.8 2024-03-17 21:32:57 +00:00
ole00 941142df71 PC app release v.0.5.8 2024-03-17 21:24:54 +00:00
ole00 733ea3c8e3 version increased to v.0.5.8 2024-03-17 21:15:05 +00:00
ole00 3ee0147d88 sketch: improved calibration, mcp4151 uses full tap scale
This change stores the digi pot indices in the scale 1-255
(previously 1 -128) so the stored values for calibration
are no longer valid after this change is uploaded to Arduino.

Please re-run the full calibration on your Afterburner!
2024-03-17 21:15:05 +00:00
ole00 103a99ab7a pc app: calibration takes longer time, wait longer
This is because the voltage settle time delay was increased
and also now 255 taps are scanned.
2024-03-17 21:15:05 +00:00
ole00 460d0f2caa improve calibration offset resolution and range
range: -0.32V to +0.32V
steps: by 0.01V
2024-03-17 21:14:52 +00:00
ole00 a559e10612 mt3608 wire: added resistance test indicators 2024-03-16 11:06:09 +00:00
ole00 e5ffe7ec19
README.md - added safety step when installing the pot wire 2024-03-16 11:01:23 +00:00
ole00 6b6bbd76e2
Update README.md - ATF750C is now supported
AFT750C support ported over from Michael D. afterburner's fork.
2024-02-16 20:06:48 +00:00
ole00 0b865d4892 PC app release v.0.5.7 2024-02-16 19:57:43 +00:00
ole00 cc64a29953 version increased to 0.5.7 2024-02-16 19:55:41 +00:00
ole00 7ef0038209 sketch: ensure sparse fusemap is enabled only for ATF750C 2024-02-16 19:44:52 +00:00
ole00 5f2105680f PC app: increase maximum wait time for operations
This fixes reading erased ATF750C when using sparse fusemap.
2024-02-16 19:44:52 +00:00
ole00 e99494df09 sketch: implemented read write verify for ATF750C
The implementation is based on Afterburner's fork by Michael D.
https://github.com/nospam2000/afterburner.git
2024-02-16 19:44:52 +00:00
ole00 053c914fae PC app: increase buffer sizes to fit ATF750C data 2024-02-16 19:44:52 +00:00
ole00 dc16f92a2e sparse fusemap: optimise access when block bits are all 1 2024-02-16 19:44:52 +00:00
ole00 7ff02e0a8d pc app: wait a bit longer when processing fuses 2024-02-16 19:44:52 +00:00
ole00 ba3caf3a15 sparse fusemap: added support for compacting
Compacting searches for fuse blocks where all 32 bits are set
to 1. If such block is found then it is removed from the
fuse array (reducing its top position) and then the fuse type
of such block is changed to 3.
Note that the fuse bit is never changed from 1 to 0, therefore
there is no need to cover these cases in the code (ie. converting
block type 3 to block type 1).

Compacting happens after every 256 fuse writes.

Compacting is required to be able to read erased GALs where
all fuse bits are initialised to 1.
2024-02-16 19:44:52 +00:00
ole00 f3147397f9 sparse fusemap: use 32 bit fuse blocks
Previously 16 bit fuse blocks were used and block types were stored in 1 bit.
That did not allow to compact fusemaps where all bits were 1 - which is
typically after the fuses are erased. So fuses of an erased chip would
not fit into the sparse memory array. The solution was to extend the fuse
block type storage from 1 bit to 2 bits and use that extra space to mark
blocks as sparse when all bits in the block are 1's. Such block is now
block type 3. To keep the fuseType array the same size as it was (128
bytes) the size of the block was extended from 16 bits to 32 bits.

The block type is now:
0 - all bits in the fuse block are 0, no block data in the fuse array
3 - all bits in the fuse block are 1, no block data in the fuse array
1 - any combination of bits in the fuse block, data are stored in the fuse array
2 - reserved for future use.
2024-02-16 19:44:52 +00:00
ole00 77a5d7d236 added support for sparse fusemap 2024-02-16 19:44:52 +00:00
ole00 b216b16c9a Initial support for ATF750C based on nospam2000 fork
Setup and PES reading works.

Based on fork: https://github.com/nospam2000/afterburner
By Michael D. - nospam2000
2024-02-16 19:44:48 +00:00
ole00 bd19c7c776 sketch: small fixes to setVpp() function
- ATF22V10C uses lower VPP when reading PES
- PES reading VPP for ATF was raised from 10V to 10.5V
- out-of-band VPP was set to actual 12V (previously 10V by mistake)
2024-02-16 19:26:17 +00:00
ole00 fab07e57fd Sketch: adjust VPP for all GALs
Previously all GALs had their VPP (programming voltage) reduced by 2V.
That was based on old Afterburner design which did not have variable VPP
control. It was trivial to adjust and experiment with VPP by turning the POT.
The software for the new design uses the VPP information encoded in PES
to set the VPP voltage (except Atmel GALs where the VPP value was hardcoded
to be effectively 10V) programmatically. The reduction of VPP by 2V on
the new design works, but is just on the very edge of correct functionality.
For example undervolting the 10V VPP to 9.87V made the Atmel chip programming
unreliable (many verification errors). This change reduces the voltage
by 1V for all GAL chips, so for example Atmel GALs are programmed by 11V VPP
(instead of 10V as it was before). It should improve writing reliability
for all GAL ICs.

I have re-tested all types of GAL IC I have available, all worked OK
with this change. That means all operation worked correctly: erase, info,
read, write and verify. The IC that were tested are as follows:

GAL6001B-30LP
GAL6002B-15LPN
GAL20V8B-15LPN
GAL26V12C-15LPN
GAL22V10B-25LP
GAL22V10D-10LPN
GAL18V10B-15LP
GAL18V10B-20LP
GAL16V8D-25LP
GAL16V8B-15LJI
ATF750C-7PX
ATF22V10C-15PU
ATF22V10CZQ-20PU
ATF16V8BQL-15PU
ATF16V8B-15PU
ATF16V8C-7PU
ATF16V8CZ-15SU
2024-02-05 23:15:12 +00:00
ole00 0cb6434aea
Updated mt3608 module modification to README.md 2024-02-04 12:30:12 +00:00
ole00 31578a6eec images: updated info about mt3608 modules 2024-02-04 12:11:51 +00:00
ole00 00dc5cf8f6 PC app releases v.0.5.6 2024-02-04 11:34:25 +00:00
ole00 28c4a104d1 version increased to 0.5.6 2024-02-04 11:26:07 +00:00
HubertH 8ae5b495f8 Fixed B9 command bug
Fixed: Command 'B9' (Calibration Offset = 0,25V) doesn't work
Note: Also requires elimination of a bug in the PC program afterburner.ino
Added: Sending B4, if b /wo -co is executed
2024-02-04 11:13:47 +00:00
HubertH fcd7b15fe4 Update aftb_mcp4131.h
Minor change
2024-02-04 08:56:39 +00:00
HubertH 0cd9ac9b35 Minor changes in aftb_vpp.h
Added a dummy conversation after setting the analog reference
Print out pot type (4131/4151) if VPP_VERBOSE is set
2024-02-04 08:53:50 +00:00
HubertH 19662a1939 Fixed B9 command bug
Fixed B9 command bug
Fixed a typo
2024-02-04 08:52:48 +00:00
ole00 5748ad601b updated BOM for PCB rev 3.1 2024-01-29 21:56:51 +00:00
ole00 62d66b216b
README.md: fixed reference to the compensation pot R9
Found by AJROMR. Thanks!
2024-01-28 21:29:17 +00:00
ole00 2b1b34f48c mcp4131: fixed reading pot value from mcp4151
Discovered and fixed by Hubert H. Thanks!
See issue #48
2024-01-28 21:07:49 +00:00
ole00 de1d601992 PC app releases v 0.5.5 2023-11-22 21:42:18 +00:00