*.lck
directories in the virtual machine directory on the ohmmkey (be very careful; removing the wrong thing can easily break your ohmmkey), and then try again.lcd.h
, particularly lcdPrintf()
and lcdMsg()
.HOST_DBG()
macro we provide in host.h
. Call it exactly as you would call printf()
; the text will get printed to your serial terminal program (minicom or kermit).make program
fails)chip_erase_delay
to 55000 for m324p and m1284p in /etc/avrdude.conf
. (This should have already been done for you if you are using the ohmmkey.)The org usb serial port will normally show up as /dev/ttyACM1
, but that is not guaranteed. The numbering of the ttyACM ports is determined when devices are connected, and depends on what numbers are already used. If the org was previously connected and minicom or kermit was running, then the terminal program on the host can hang on to the old ttyACM port and force a new one to be created if the org is reconnected. That will result in this kind of error message if you run the provided kermit.scr
script:
SET SPEED has no effect without prior SET LINE
Sorry, you must SET LINE or SET HOST first
which really means that it could not hook up to /dev/ttyACM1
(which is hardcoded in kermit.scr
). One way to resolve all that is to forcibly kill the old terminal process (kermit or minicom) that is hanging on to the old port. Unplug the org and verify that all the /dev/ttyACM*
ports are gone. Then re-plug it and verify that you have only /dev/ttyACM[1,2,3]
. Then re-start kermit (or minicom).host.c
, including fail-fast if the host is not detected and also timeouts. However there can be situations where you are trying to send bytes (including HOST_DBG()
text) to the host from within a foreground task but incur a timeout on every send. Thus our task will take much longer than expected to execute, which can cause bad things.See FAQ above about ground loops.