Commit Graph

263 Commits

Author SHA1 Message Date
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
ole00
24494accde version increased to 0.5.5 2023-11-22 21:39:05 +00:00
ole00
cefd435b28
Merge pull request #45 from rhgndf/20ra10
Add 20RA10 support
2023-11-22 21:24:38 +00:00
rhgndf
ec1e26464f GAL20RA10B works 2023-11-22 21:59:47 +08:00
rhgndf
50bc140928 Transpose table to fit better 2023-11-22 14:36:01 +08:00
rhgndf
c7f063b2a9 Revamp GAL support list 2023-11-22 12:32:06 +08:00
rhgndf
5c2cd50d47 Support GAL20RA10 2023-11-22 12:30:52 +08:00
rhgndf
79594dc863 Use library functions for memcpy from flash 2023-11-22 11:45:17 +08:00
ole00
e335ee638f Sketch: increased version to 0.5.4 2023-11-22 00:37:44 +00:00
ole00
4ba672b896 Sketch: reduce RAM usage by moving galinfo array to flash.
Approx. 340 bytes of RAM were freed.
2023-11-22 00:34:40 +00:00
ole00
e6cf1c1b22
README.md - added GAL26V12 adapter info 2023-11-21 19:23:53 +00:00
ole00
a1190dd9d8 Image: added 26v12 adapter image for reference 2023-11-21 19:19:43 +00:00
ole00
472bbffce7 PCB design and gerbers: added adapter for GAL26V12
The adapter is based on RomBor's 26V12 adapter for GALmate.
2023-11-21 19:07:19 +00:00
ole00
b0f2ace6fd
Merge pull request #42 from rhgndf/26v12
Support 26cv12 and 26v12
2023-11-21 18:58:35 +00:00
rhgndf
8cbc013e68 Fix incorrect fuse uploading 2023-11-21 16:33:31 +08:00
rhgndf
b5a7334d59 Actually fix pinout in the first few rows 2023-11-21 16:17:20 +08:00
rhgndf
c7b7f06f10 Convert to use pinout 2023-11-05 13:43:47 +08:00
rhgndf
f5c05e463d Fix pinout 2023-11-05 13:40:55 +08:00
rhgndf
6a288ed68e Update docs 2023-11-05 13:39:53 +08:00
rhgndf
2275e13091 Fix upload and 26v12 bits 2023-11-05 13:39:53 +08:00
rhgndf
b60f36b144 Support 26(C)V12 2023-11-05 13:39:51 +08:00
ole00
7944dbf2c1 PC App: fix gal type, take 3 2023-11-04 14:32:03 +00:00
ole00
f63ae40bb4 PC App: fix gal type, take 2
Thanks rhgndf for pointing that out!
2023-11-04 14:28:23 +00:00
ole00
a1fc6bb2f7 sketch: fixed compilation error after merge, removed strncmp dependency 2023-11-04 14:14:46 +00:00
ole00
92d8c72f1f
Merge pull request #43 from rhgndf/atf20v8
Support ATF20V8B
2023-11-04 14:03:33 +00:00
ole00
95e461233e
Merge branch 'master' into atf20v8 2023-11-04 14:00:49 +00:00
ole00
76ab0afdda
Update README.md - info about GAL18V10B 2023-11-04 13:28:23 +00:00