Closed GoogleCodeExporter closed 9 years ago
I just plugged an oscilloscope to verify if something was going on between the
FTDI cable and minimosd, the results are :
- green line goes low when I start the firmware update;
- tx starts low and shows some signals (high) going through;
- rx starts high and shows some signals (low) going through;
I did not try to record the signals nor did I tried to figure out their
meaning, I was just trying to find out if something was going on between
osd_config and minimosd.
From what I can tell, the FTDI cable must be good since signals are flowing in
and out. The minimosd electronic must be good also since in appears to be
responding in some ways to what it receives from the FTDI cable. As far as I
can tell, it looks like a software issue but I am really not sure about
anything here. I will continue to investigate to the best of my knowledge (as
little as it is at this point :-()
Original comment by jocelyn....@gmail.com
on 11 Oct 2012 at 12:00
I'm not sure what's happening there on your board. Maybe something wrong on the
fuses?
Did you run the whole set of commands below by using your programmer?
avrdude -c usbasp -p m328p -U lfuse:w:0xFF:m
avrdude -c usbasp -p m328p -U hfuse:w:0xDA:m
avrdude -c usbasp -p m328p -U efuse:w:0x05:m
avrdude -c usbasp -p m328p -U flash:w:ATmegaBOOT_168_atmega328.hex
Original comment by sbeni...@gmail.com
on 12 Oct 2012 at 11:04
Hi,
Yes I ran exactly the commands you mention and the all ran successfully.
JL
Original comment by jocelyn....@gmail.com
on 12 Oct 2012 at 11:06
Hi again,
Since I was able to flash the bootloader with my USBasp, I guessed that I might
as well try to compile the code and upload it to minimosd with Arduino 1.0.1
through the USBasp programmer. It is my first contact with Arduino, so please
excuse my ignorance.
When I try to compile Arducam and its friends I get the following messages :
In file included from ArduCam_Max7456.cpp:4:
ArduCam_Max7456.h:77: error: expected class-name before '{' token
ArduCam_Max7456.h:83: error: 'uint8_t' has not been declared
ArduCam_Max7456.h:83: error: 'uint8_t' has not been declared
ArduCam_Max7456.h:86: error: 'uint8_t' has not been declared
ArduCam_Max7456.h:89: error: 'uint8_t' has not been declared
ArduCam_Max7456.h:89: error: 'uint8_t' has not been declared
ArduCam_Max7456.h:96: error: 'size_t' does not name a type
ArduCam_Max7456.h:97: error: 'uint8_t' has not been declared
ArduCam_Max7456.h:98: error: 'BetterStream' has not been declared
ArduCam_Max7456.h:100: error: 'uint8_t' does not name a type
ArduCam_Max7456.cpp: In member function 'void OSD::init()':
ArduCam_Max7456.cpp:37: error: 'video_mode' was not declared in this scope
ArduCam_Max7456.cpp: In member function 'void OSD::setMode(int)':
ArduCam_Max7456.cpp:90: error: 'video_mode' was not declared in this scope
ArduCam_Max7456.cpp:91: error: 'video_center' was not declared in this scope
ArduCam_Max7456.cpp: In member function 'int OSD::getMode()':
ArduCam_Max7456.cpp:104: error: 'video_mode' was not declared in this scope
ArduCam_Max7456.cpp: In member function 'int OSD::getCenter()':
ArduCam_Max7456.cpp:119: error: 'video_center' was not declared in this scope
ArduCam_Max7456.cpp: At global scope:
ArduCam_Max7456.cpp:143: error: prototype for 'void OSD::setPanel(uint8_t,
uint8_t)' does not match any in class 'OSD'
ArduCam_Max7456.h:83: error: candidate is: void OSD::setPanel(int, int)
ArduCam_Max7456.cpp: In member function 'void OSD::openPanel()':
ArduCam_Max7456.cpp:158: error: 'row' was not declared in this scope
ArduCam_Max7456.cpp:158: error: 'col' was not declared in this scope
ArduCam_Max7456.cpp: In member function 'void OSD::closePanel()':
ArduCam_Max7456.cpp:187: error: 'row' was not declared in this scope
ArduCam_Max7456.cpp: At global scope:
ArduCam_Max7456.cpp:193: error: prototype for 'void OSD::openSingle(uint8_t,
uint8_t)' does not match any in class 'OSD'
ArduCam_Max7456.h:89: error: candidate is: void OSD::openSingle(int, int)
ArduCam_Max7456.cpp:217: error: no 'size_t OSD::write(uint8_t)' member function
declared in class 'OSD'
ArduCam_Max7456.cpp:232: error: prototype for 'void OSD::control(uint8_t)' does
not match any in class 'OSD'
ArduCam_Max7456.h:86: error: candidate is: void OSD::control(int)
ArduCam_Max7456.cpp:249: error: prototype for 'void OSD::write_NVM(int,
uint8_t*)' does not match any in class 'OSD'
ArduCam_Max7456.h:97: error: candidate is: void OSD::write_NVM(int, int*)
I did not dig deep into it yet, but my feeling is that I must be missing
something obvious to somebody whose more regularily into that, so I take a
chance to ask if somebody quickly sees the cause of those syntax errors.
Otherwise, I will get to know Arduino programming in more details one way or
another.
Thanks,
JL
Original comment by jocelyn....@gmail.com
on 18 Oct 2012 at 12:24
Did you get the code by using an SVN client?
Did you copy the libraries from ArduCAM SVN folder to your Arduino's install
libraries folder?
Anyway, if you upload the code by the USBASP programmer you'll lose the
bootloader. After losing the bootloader the OSD Config Tool won't talk to your
board anymore.
Original comment by sbeni...@gmail.com
on 18 Oct 2012 at 5:30
Ok, thanks. I was missing the libraries. Now I will use an SVN client to handle
all the parts.
Original comment by jocelyn....@gmail.com
on 20 Oct 2012 at 1:17
Hi again,
I was able to flash the firmware with avrdude and my USBasp on minimosd and it
worked ok, at least I had some text over the video, that was an error meessage
about the EEPROM not being up to date or something like this.
Anyway, this tells me that the board is good for sure. So, to get back to my
initial problem, in issue #28 I believe that the final solution was to press
the reset button on the board after starting the read/write operation. I have
tried that several times with different timings but without success.
I am pretty sure that I have the latest drivers for the ftdi cable (april
2012), for both the com port and the USB serial converter devices in Windows.
The com port is set to 57600 and no other special setup. I have seen that there
are a lot of advanced configuration possible for the ftdi cable
(AN_107_AdvancedDriverOptions_AN_000073.pdf) but I didn't touch anything, I
tought it was supposed to work out of the box.
Finally, I at the point where I doubt that the ftdi cable is working properly.
I ordered an other one but I not sure it is really the cause of the problem.
Any ideas are welcome.
Thanks,
JL
Original comment by jocelyn....@gmail.com
on 21 Oct 2012 at 10:27
Jocelyn,
Did you see the advise at the end of my previous comment?
I'm guessing you did it just as a test, because uploading the firmware through
USBASP lead you to the first problem i.e. now your board has no bootloader. The
USBASP did overwrite it.
Like I said before: What you need is: set the fuses correctly and upload the
bootloader. So, you would use an FTDI for updating firmware and charsets and
configuring your OSD like everyone else.
Important question: Why are you're configuring your FTDI's com port at 57600?
Please left it as default: 9600-8-N-1.
Just to reinforce, here goes the needed AVRDude's command sequence:
avrdude -c usbasp -p m328p -U lfuse:w:0xFF:m
avrdude -c usbasp -p m328p -U hfuse:w:0xDA:m
avrdude -c usbasp -p m328p -U efuse:w:0x05:m
avrdude -c usbasp -p m328p -U flash:w:ATmegaBOOT_168_atmega328.hex
Original comment by sbeni...@gmail.com
on 21 Oct 2012 at 11:47
Hi,
You guessed it right, it was just as a test to prove that the board was working
properly.
I followed your previous instructions as well, and I appreciate your involvment
in helping.
For the baud rate, I don't remember for sure, but I tought I saw something
somewhere that said it had to be 57600. I will try later today with 9600.
Thanks again.
JL
Original comment by jocelyn....@gmail.com
on 21 Oct 2012 at 12:14
No luck at 9600 either. I wonder how everyone else gets that working with all
the defaults settings since I can hardly figure out what is wrong with it.
To summarize :
- Board is not defective, I know for sure by "hard flashing" the code with
USBasp and trying it on the quad with the video setup;
- Bootloader flashed correctly on the board, according to your instructions
with no error messages during the process;
- Latest FTDI driver (VCP) 2.8.24.0 2012/04/10;
- Latest version of OSD_Config 2.1.2.0;
- Standard FTDI cable from DIYDrones;
- Trying to flash MinimOSD_20.hex;
- COM port set at 9600-8-N-1;
- Tried on different USB ports;
- Tried on different computers;
- Tried pressing the reset button after starting the read/write to the board;
I must be really stupid, but I do not see what is wrong with what I do. The
only thing left might be the cable itself.
Thanks anyway, I will try to see what else might be interfering with the
process.
JL
Original comment by jocelyn....@gmail.com
on 21 Oct 2012 at 9:34
Hi,
Just more info about my search for a solution :
I trying on a third computer running XP (my two other ones were Win7) with a
fresh install of the drivers, and I got the same results.
It is not really related, but I just received a 3DR telemetry kit and I got it
to work on my usual Win7 machine. The point is that it uses the exact same FTDI
drivers as the cable required to configure minimosd. So, I have to conclude
that my Windows installation and drivers are good, which brings me back to a
faulty cable as far as I can tell.
I will post more info when I receive the new FTDI cable that I ordered.
Thanks,
JL
Original comment by jocelyn....@gmail.com
on 28 Oct 2012 at 11:20
One more update that is worth it :
Since I have to wait for a new cable, I decided to opened the one I am trying
to use rigth now to see if there is something wrong with it. And as a matter of
fact there is !
You see on the picture a solder blob shorting two pins of the FTDI chip. That
would do it. However, this is well beyond my manual and visual abilities to
repair, so I will just wait for the replacement cable.
The bottom line : don't thrust any cable.
Thanks again for your help, you can surely close this issue.
JL
Original comment by jocelyn....@gmail.com
on 28 Oct 2012 at 12:13
Attachments:
Hi again,
I got the new FTDI cable and it worked on the first try.
Great software by the way !
Thanks.
JL
Original comment by jocelyn....@gmail.com
on 31 Oct 2012 at 8:33
Great news! Congratulations for sticking with it until get it working!
Did you fix the old cable too?
It's easy to fix it with an iron and a bit of flux.
Thanks for sharing the result with details. I will close this thread then.
Original comment by sbeni...@gmail.com
on 31 Oct 2012 at 11:35
Hi Beni, are you still monitoring this thread?
If so could you help me with my MinimOSD?
Thanks, Philip
Original comment by zext...@gmail.com
on 29 Mar 2014 at 12:24
Original issue reported on code.google.com by
jocelyn....@gmail.com
on 9 Oct 2012 at 9:17