Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update list of minipro supported devices #12

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

WouterRademaker
Copy link

minipro version 0.4dev
List made from output of minipro -l

@aimylios
Copy link

aimylios commented Mar 28, 2020

@WouterRademaker, which version of minipro did you use exactly to generate the new devices.h file? minipro's list of supported ICs was last touched in August 2019, so before 0.4 was released. But it seems like your patch does not update all of the devices. E.g., there is still only one option ATMEGA8, whereas minipro 0.4 differentiates between ATMEGA8@DIP28 and ATMEGA8@DIP28, so that even with this PR qtl866 can not be used to program the Atmega8.

Update: OK, I see now that your change is based on minipro's database for the TL866A, whereas I am using a TL866II+, which explains the difference. Would be nice, though, to be able to use qtl866 for both the TL866A and the TL866II+. Maybe the list of supported devices could be merged.

@WouterRademaker
Copy link
Author

/Programmas/minipro$ git show
commit 1656b99b1bc8d390ccd523e81b245dd20c99e027 (HEAD -> master, origin/master, origin/HEAD)
Merge: dd76628 a50e93d
Author: David Griffith [email protected]
Date: Sun Feb 9 00:46:27 2020 +0000

I now see that there is a difference between the device (names) supported on a TL866A and a TL866II+.
TL866A only ATMEGA8
TL866II+ ATMEGA8@DIP28 and ATMEGA8@TQFP32

I have a TL866A. This was plugged in when I generated that list so I didn't notice this. Is it safe to create a merged list for both types?

@aimylios
Copy link

Thanks! The version you list is newer than your PR, so I guess you updated it in the meantime. But it shouldn't matter in this case, it's really the difference between the TL866A and the TL866II+.

Is it safe to create a merged list for both types?

It's definitely safe, because minipro will just abort with a message like the following when the wrong device type is selected (e.g., ATMEGA8 instead of ATMEGA8@DIP28), and qtl866 will display this message (plus the line "minipro exited with code 1"). But it's annoying for the user, because he might have to try several options until it works.

$ minipro -d "ATMEGA8"
Device ATMEGA8 not found!
$ minipro -d "ATMEGA8@DIP28"
Found TL866II+ 04.2.105 (0x269)
Name: ATMEGA8@DIP28
Memory: 8192 Bytes + 512 Bytes
Package: DIP28
ICSP: ICP007.JPG
Protocol: 0x1d
Read buffer size: 256 Bytes
Write buffer size: 64 Bytes

The best option would probably be if qtl866 had an option to select the programmer, or would even read the list of supported devices at runtime (which would have the additional benefit of being always synchronised to the version of minipro installed in the system). But I guess that's too much effort considering that development of qtl866 came to an end already three years ago.

I've played a bit with generating a merged list, and this is what I came up with:

$ minipro -l > devices_tl866x.txt
No TL866 device found. Which database do you want to display?
1) TL866A
2) TL866II+
3) Abort
1
$ minipro -l >> devices_tl866x.txt
No TL866 device found. Which database do you want to display?
1) TL866A
2) TL866II+
3) Abort
2
$ ( echo "const char *devnames[] = {" && sort devices_tl866x.txt | uniq | sed 's/^/"/; s/$/",/' && echo "};" ) > devices.h

I've pushed a commit with this autogenerated list to a branch in my fork:
https://github.com/aimylios/qtl866/tree/update-list-of-supported-devices-to-minipro-0.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants