So I just did the following:
1. Re-extracted v1.42m and tried that Makefile
2. Extracted v1.41m and tried that Makefile
3. Downgraded to AS7 7.0.1645 and tried both 1.41m and 1.42m Makefiles
4. Reinstalled AS7 7.0.1645 on my C: drive instead of my D: drive
Same thing each time "Failed to get info from Makefile. Did you select a valid makefile?"
mrmox, if you were to put the ultimate transistor tester on the market, here are some cool features that it could include:
-- precision 5 volt regulator
-- high precision resistors
-- header pins for programming
-- a hardwired capacitor for convenient self adjustment
-- a relay to short connections whenever a measurement is not being made, preventing accidental tester destruction
-- an ATMega in a DIP socket so that it can be easily replaced if it ever gets damaged by misuse
-- clear markings to show the connections for frequency measurement, voltage measurement, and function generator
-- a 16MHz crystal
-- the latest M or K firmware
A typical user does not really need all of the above, but there is no reason that a kit or completed device could not have all of the above features. I would like to buy one.
Since an ideal tester is not available now, and since I don't quite know how to design my own board, I ordered an AY-AT type of kit from eBay, and precision parts from mouser.com. Earlier posts from "blurpy" describe what to do, and I expect that it will all turn out quite well. My tester will not have the relay or the self adjustment capacitor.
For that matter, if you know how to design a board with all of those features, there must be lots of people on this forum who would like to buy one and populate it themselves, or who would like to get your Gerber file to have their own boards manufactured.
Not making a lot of progress...
Can you advise what is required to build these these AVR projects using the current version of Windows 10.
I take it that WinAVR-2010010 is long dead, or, can it be patched with the latest AVR toolchain.
Has anyone tried using flyback to measure inductance?
Has anyone tried using flyback to measure inductance?
Not yet. Do you have any weblinks for more details?
Hello everyone,
thank you for your work on this nice project.
I bought an Hiland m644 that did not power up properly from factory : screen would come on only when i pressed the rotary switch. (attached pic)
I thought that it might have been because the device came without any firmware, so thanks to your thread I built firmware 1.42m (attached .hex and .eep)
However even after flash (screen avrdude)the screen status is the same. I tried even with k firmware (https://www.mikrocontroller.net/svnbrowser/transistortester/Software/trunk/mega644_hiland_m644/)
but got a verification error :
Can you tell from avrdude log if flash had some error? Is there a way to have a command prompt on the device
to know if it is defective?
avrdude log : https://pastebin.com/9GRpmsBQ
settings used :
If you want I can give more details on firmware config.
thanks for reading me
[...]
- before start "flash" process, please check connection (and the "Bit clock(-b)") setting with the help "Detect" button.
>>>: avrdude -u -c usbasp -B 0.5 -v -p m8
Detected 1e960a = ATmega644P
but does not set the baud rate (-b) nor Bit clock (-B). I left it by default at 1.5 MHz. I don't know what value to use.I would like to hope, you don't forget to chose "Write" mode in during flashing process.
Please try one these options (or perhaps all):
- upgrade the firmware of usbasp (another programmator is nessasary)
last firmware is here https://www.fischl.de/usbasp/
- Install the driver for Usbasp with help the Zadig tool (https://zadig.akeo.ie/). Instructions - https://www.instructables.com/USBASP-Installation-in-Windows-10/
From what I saw in the pictures, you have problems with lockbit. The MCU you want to program is locked, see the attached images.
That's why the flash check gives an error. LB should have the value 0xFF.
According to the manufacturer's documentation "The Lock bits can only be
erased to “1” with the Chip Erase command. "
You must enter command com and give the command:
avrdude -c usbasp -p m664p -e
Then read fuses & lock bits with AVRDUDESS.
Everything should be 0xFF. Write the desired values: L = 0xFF, H = 0xD9, E = 0xFC, LB remains 0xFF.
Only now can you load the desired firmware.
Good luck with that!
Hello
Where did you go to make those screenshots? I went to : https://www.engbedded.com/fusecalc?P=ATmega644P but it does not say anything for the lock bits.
Also according to my pastebin the flash check does not fail - am I missing something?
I did the command you hinted and it directly sets the values you told me.
When I ask to write lock bit, it fails
avrdudess was like this : ... do I need to check "Set lock" or do something else?
thanks
1. The USBasp firmware warning can be easily ignored if you do not program any ATtiny series MCUs.
2. in the case of flash memory a cell is deleted (empty) if it is written with logic 1, ie the byte has the value 0xFF. It is normal to give some errors if, instead of erase, you try to write the value 0xFF.
3. try this fusebit computer too: https://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega644p
it is more complete.
4. let's make a difference: avrdude.exe is a program that can be used in the com command terminal, while AVRDUDESS is a graphical interface (GUI) for avrdude.exe.
5. to know the status of the fusebits, in AVRDUDE press the read buttons. If the result is L = 0xFF, H = 0xD9, E = 0xFC, LB = 0xFF then you should have no more difficulties in programming the ATmega644 MCU.
PS D:\tools\AVRDUDESS-2.13-portable> .\avrdude.exe -c usbasp -p m644p -e
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude.exe: Device signature = 0x1e960a (probably m644p)
avrdude.exe: erasing chip
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: safemode: Fuses OK (E:FC, H:DF, L:FF)
avrdude.exe done. Thank you.
> .\avrdude.exe -c usbasp -p m644p -U lock:r:-:h
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude.exe: Device signature = 0x1e960a (probably m644p)
avrdude.exe: reading lock memory:
Reading | ################################################## | 100% 0.01s
avrdude.exe: writing output file "<stdout>"
0x3f
avrdude.exe: safemode: Fuses OK (E:FC, H:D9, L:FF)
avrdude.exe done. Thank you.
>
PS D:\Documents de Anis\Hobbies\Hiland m644\tools\AVRDUDESS-2.13-portable> .\avrdude.exe -c usbasp -p m644p -v -v -U lock:w:0xFF:m
[...]
avrdude.exe: Device signature = 0x1e960a (probably m644p)
avrdude.exe: safemode: hfuse reads as D9
avrdude.exe: safemode: efuse reads as FC
avrdude.exe: reading input file "0xFF"
avrdude.exe: writing lock (1 bytes):
Writing | | 0% 0.00s ***failed;
Writing | ################################################## | 100% 0.06s
avrdude.exe: 1 bytes of lock written
avrdude.exe: verifying lock memory against 0xFF:
avrdude.exe: load data lock data from input file 0xFF:
avrdude.exe: input file 0xFF contains 1 bytes
avrdude.exe: reading on-chip lock data:
Reading | ################################################## | 100% 0.01s
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
0x3f != 0xff
avrdude.exe: verification error; content mismatch
avrdude.exe: safemode: hfuse reads as D9
avrdude.exe: safemode: efuse reads as FC
avrdude.exe: safemode: Fuses OK (E:FC, H:D9, L:FF)
avrdude.exe done. Thank you.
We can see in log that the write operation fails. Why?We can see in log that the write operation fails. Why?
The LockBits can only be erased to “1” with the Chip Erase command.
The Chip Erase will erase the Flash and EEPROM memories plus Lock Bits. The Lock Bits are not reset until the Program memory has been completely erased. The Fuse Bits are not changed. A Chip Erase must be performedbefore the Flash and/or the EEPROM are reprogrammed.
- set "Erase flash and EEPROM (-e)" checkbox in during the firmware process (Please be aware, it is just only for the "Write" process, for the "Read/Verify" process should be unchecked)
[...]
Look here https://yadi.sk/d/IUL_bjs0K3A6OA
Everything should be 0xFF. Write the desired values: L = 0xFF, H = 0xD9, E = 0xFC, LB remains 0xFF.
What I compiled can make the device boot (as the red led light comes on) however the screen isn't driven properly (blank).
My screen is JLX12864G-378 Ver2.1 so i edited only st7565R sectionHaving a finely tuned version with a color display, it took me several hours to create a working version for you. Firmware for quartz 8 MHz. All corrected files are in the archive, and examples of measurements for monochrome and color displays.
All the best...
https://disk.yandex.ru/d/KOJ56yV7Rxo28g
tools_signal.c: In function 'FrequencyCounter':
tools_signal.c:1779: warning: 'Index' may be used uninitialized in this function
avr-gcc -mmcu=atmega644 -Wall -I. -Ibitmaps -DF_CPU=8000000UL -DOSC_STARTUP=16384 -gdwarf-2 -std=gnu99 -Os -mcall-prologues -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT tools_LC_Meter.o -MF dep/tools_LC_Meter.o.d -c tools_LC_Meter.c
tools_LC_Meter.c: In function 'LC_Calc_C':
tools_LC_Meter.c:363: error: fixed-point types not supported for this target
tools_LC_Meter.c:364: error: fixed-point types not supported for this target
tools_LC_Meter.c:377: error: fixed-point types not supported for this target
tools_LC_Meter.c:378: error: fixed-point types not supported for this target
tools_LC_Meter.c:380: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:380: error: invalid operands to binary - (have '<unnamed-fixed:64>' and 'int')
tools_LC_Meter.c:387: error: fixed-point types not supported for this target
tools_LC_Meter.c:390: warning: implicit declaration of function 'bitsulk'
tools_LC_Meter.c:390: error: '__ULACCUM_FBIT__' undeclared (first use in this function)
tools_LC_Meter.c:390: error: (Each undeclared identifier is reported only once
tools_LC_Meter.c:390: error: for each function it appears in.)
tools_LC_Meter.c:396: error: fixed-point types not supported for this target
tools_LC_Meter.c:402: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:402: error: invalid operands to binary * (have '<unnamed-fixed:64>' and 'int')
tools_LC_Meter.c: In function 'LC_Calc_L':
tools_LC_Meter.c:426: error: fixed-point types not supported for this target
tools_LC_Meter.c:427: error: fixed-point types not supported for this target
tools_LC_Meter.c:443: error: fixed-point types not supported for this target
tools_LC_Meter.c:444: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:444: error: invalid operands to binary / (have '<unnamed-fixed:64>' and 'int')
tools_LC_Meter.c:446: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:446: error: invalid operands to binary / (have 'int' and '<unnamed-fixed:64>')
tools_LC_Meter.c:449: error: fixed-point types not supported for this target
tools_LC_Meter.c:450: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:450: error: invalid operands to binary / (have '<unnamed-fixed:64>' and 'int')
tools_LC_Meter.c:452: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:452: error: invalid operands to binary / (have 'int' and '<unnamed-fixed:64>')
tools_LC_Meter.c:459: error: fixed-point types not supported for this target
tools_LC_Meter.c:460: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:460: error: invalid operands to binary * (have '<unnamed-fixed:64>' and 'uint32_t')
tools_LC_Meter.c:461: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:461: error: invalid operands to binary / (have '<unnamed-fixed:64>' and 'long int')
tools_LC_Meter.c:462: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:462: error: invalid operands to binary / (have 'int' and '<unnamed-fixed:64>')
tools_LC_Meter.c:463: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:463: error: invalid operands to binary * (have '<unnamed-fixed:64>' and 'long int')
tools_LC_Meter.c:472: sorry, unimplemented: GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together
tools_LC_Meter.c:472: error: invalid operands to binary * (have '<unnamed-fixed:64>' and 'int')
tools_LC_Meter.c:482: error: '__ULACCUM_FBIT__' undeclared (first use in this function)
make.exe: *** [tools_LC_Meter.o] Error 1
- Added LC meter hardware option (HW_LC_METER). It’s based on a simple LC oscillator
circuit, similar to some inexensive LC meter kits.
I have two AY-AT testers and, thanks to the advice given here and many, many hours of reading through the previous posts, they are both working. I have purchased a new display 1.8” ST7735 SPI but I notice that the pinouts are not the same as detailed in this forum – picture attached.