Page 3 of 20

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Sun Aug 09, 2015 9:09 pm
by lancaster
mike
still working on sunday?

you must be dedicated!

regards
Hans

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Sun Aug 09, 2015 10:49 pm
by MikeB
Yes, trying to get everything working. I now on to the bootloader. The SD card is accessible over USB, just having problems with the virtual drive that allows access to the EEPROM and flash.

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Sun Aug 09, 2015 10:55 pm
by jhsa
Thank you Mike..

João

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 1:10 am
by Suncoaster
Watching with interest, pre-ordered and have a 9x waiting to go.. :mrgreen:

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 1:32 pm
by MikeB
I think I have the bootloader functioning now. Next up is detecting the MEGA64 isn't running the correct firmware and flashing the correct firmware to it.

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 1:52 pm
by jhsa
Mike, will the board ship with an SD Card? if so, could it have the right firmware already inside a folder and flash the atmega automatically at first power ON? The problem is that some radios might have an m128 or 2561 installed. Could that be detected and then flash the right one?

João

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 2:22 pm
by MikeB
The firmware for the M64 is only 2400 bytes long. I'm intending to embed this in the firmware for the board, rather than having it on the SD card. The same firmware will run on the '128. The 2561 will need different firmware, but, again, it should only be 2.4K, so I should be able to embed that as well. These may get a bit larger in due course. The intention is that the M64 will drive the haptic signal, and I have no code in for that yet. We have 512K flash on the 9Xtreme, and are only using under 200K, so a few K to hold the M64 firmware is not a problem.
Since we have the ability to flash the MEGA64/128/2561, we can read the signature and check what the chip is.

My plan at present is for the 9Xtreme to start up, and look for the serial data from the 9X main board. This won't take long as it is sent every 10mS. If no data is received, then the 9Xtreme will try to flash the correct program to the 9X.

I'm including a firmware revision in the data from the 9X, so the 9Xtreme should also be able to detect if there has been an update to the 9X firmware and automatically flash the update.

As always, this is open to adjustment. I need to get the flashing operation working, then implement this operation.

I'm still running the 9Xtreme outside the 9X as it is easier to get the 'scope on it when needed.
I'm optimistic that once I have the M64 flash operation working, most of the new parts to the firmware will be complete. There will be some areas of the menus that may need changing.
Then there are always the 'unexpected' problems that come up, but I'm generally pleased with progress.

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 2:40 pm
by jhsa
MikeB wrote: Since we have the ability to flash the MEGA64/128/2561, we can read the signature and check what the chip is.

My plan at present is for the 9Xtreme to start up, and look for the serial data from the 9X main board. This won't take long as it is sent every 10mS. If no data is received, then the 9Xtreme will try to flash the correct program to the 9X.
Isn't there the very remote possibility of for some reason the communication being lost for a while, a bad connection, hiccup or some other situation, and the 9xtreme try to flash the 9x board without being needed? Could the board debug possible problems, display them and trigger an alarm while still maintaining full control of servos?

I'm including a firmware revision in the data from the 9X, so the 9Xtreme should also be able to detect if there has been an update to the 9X firmware and automatically flash the update.
It would be great if the board could update the 9x board and itself automatically by just connecting to a computer with internet running eepe. Just a confirmation popup needed. That would probably save people some headaches ;) :) and be very professional of course..
That could possibly be extended to the other supported HW running ersky9x of course.

Or allow for a Wi-Fi module to be installed in the radio and connect to the internet automatically without the need for a computer and update itself, sharing files with a smartphone or PC, etc.. But I guess this is a very advanced idea for the moment??


I'm still running the 9Xtreme outside the 9X as it is easier to get the 'scope on it when needed.
I'm optimistic that once I have the M64 flash operation working, most of the new parts to the firmware will be complete. There will be some areas of the menus that may need changing.
Then there are always the 'unexpected' problems that come up, but I'm generally pleased with progress.

Mike.
That is awesome, THANK YOU.. Can't wait to put my hands on one of these boards :) :D

João

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 2:47 pm
by MikeB
This will happen just at power on, not even a watchdog reset, so we aren't looking to get the servos running for the first half a second or so.

Since the M64 is responsible for driving the display, then if it isn't communicating, then we CANNOT display anything from the 9Xtreme.

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 2:51 pm
by Kilrah
jhsa wrote: Isn't there the very remote possibility of for some reason the communication being lost for a while, a bad connection, hiccup or some other situation, and the 9xtreme try to flash the 9x board without being needed? Could the board debug possible problems, display them and trigger an alarm while still maintaining full control of servos?
The flashing would obviously only be carried out on powerup, not in the middle of operation.

But while we're there - to me the product's whole concept of using the spring-loaded pins for essential function is not safe. On the SP board a bad contact is no problem, all you risk is a bad flash you can redo straight away. Here it's a "dead" radio in flight. Surprising Jhsa hasn't jumped up and down all the way on this.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 2:52 pm
by jhsa
MikeB wrote:This will happen just at power on, not even a watchdog reset, so we aren't looking to get the servos running for the first half a second or so.
Ahh,ok understood..
Since the M64 is responsible for driving the display, then if it isn't communicating, then we CANNOT display anything from the 9Xtreme.

Mike.
True. Forgot about that.. But it could trigger a voice alarm??

João

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 3:01 pm
by jhsa
Kilrah wrote:
But while we're there - to me the product's whole concept of using the spring-loaded pins for essential function is not safe. On the SP board a bad contact is no problem, all you risk is a bad flash you can redo straight away. Here it's a "dead" radio in flight. Surprising Jhsa hasn't jumped up and down all the way on this.
You're right, I would jump up and down, and if you read the forum you would know that I did :) :mrgreen:
Even though I agree with you that a solder connection is in general safer, I think that you wouldn't be left with a dead radio in flight as I believe the 9xtreme board will manage all vital controls, including the gimbals? At least this is what I understood that it will do, but Mike and Steven are the ones that can explain this obviously as I have no idea about the circuitry. I know only what I read on the forum, but it would be very wise to do it this way, and knowing the people behind it I'm quite sure it will work this way. I think you could end up with a dead display, programming buttons, and a few dead switches though.

João

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 3:16 pm
by Kilrah
OK, I probably didn't follow the discussion closely enough. It seemed to me that the gimbal and switches were still connected to the M64.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 3:29 pm
by jhsa
It seems they're not. That is the reason I can't (or it will be difficult) to mod the gimbals to use hall sensors, as the ones I own work at 5V, and I believe the 9xtreme ADC is 3.3V :( I don't like the idea of messing about with opamps. A divider could probably do the job though :o

I would love to use the hall sensors as I'm very happy with my 9x that has some installed.. It seems to me that the gimbals are at least as precise as the taranis gimbals I have installed on my other 9x, but probably better. I just checked and the max centering error is 0.3 on the Ele stick ;)
I'm talking about the 9x sticks without bearings and a lot of play. I can imagine these sensors installed on better gimbals ;) :)
Been flying with this radio a lot and love the feel..

João

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 4:48 pm
by s_mack
First... one's feelings and assumptions on the matter are just that. The fact is these spring pins are more reliable than the plugs used for every other connection on the radio. The physical connection concept is the same... friction. There is no metallurgical bond between the crimped terminal and the wire, nore is there between the terminal and the header, so with the plugs you have two points of failure. On top of that, they are cheap tin while ours are gold. The method of mechanical station is also superior as you have a stronger coil spring pushing outward compared with the weak tension barb gripping the header pin. On mechanical retention, we have two strong screws forcing and maintaining contact vs a tiny plastic tab that is all that prevents a wire from pulling out. When you think about it, it is amazing connectors ever work, but they do. And spring loaded contacts are every bit as reliable and then some.

And anyway, it is only whatever mundane tasks we give to the m64 that you'de lose in the extremely unlikely event physics is changed. The worst being the screen going blank.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 4:53 pm
by MikeB
The two gimbals, all the trims, and some of the switches are handled directly by the 9Xtreme.
The pots, the push buttons and the rest of the switches are handled by the M64.
The M64 also handles the display.

[Apparantly, Steven has data that shows the gold plated, spring loaded pins, once installed and connected, are actually more reliable than plug in connectors. (Indicated above!)]

We have included a signal between the two processor, carried over the ordinary connectors, not the spring pins, to allow the M64 to send 'critical' data without using the spring pins. The plan is to send this data as a CPPM stream containing the three pot positions and a fourth 'channel' that encodes the RUD, ELE and TRN switches. At present, I haven't implemented this CPPM signal, I'm using the data over the serial. I'll probably code this to continue using the serial data, and have the CPPM data as a backup in case the serial is lost.

If you lose the serial signal to the M64, you lose the display, contrast setting and haptic.
If you lose the serial signal from the M64, you lose the 6 push buttons, and, if used this way, the rotary encoder and it's button.

If you really don't like the idea of the spring pins, you could solder 4 wires to the pads and the pins, but this defeats the "solderless" concept.
Since two of the pins are only used when flashing the M64, you could just solder on 2 wires.

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 5:01 pm
by jhsa
s_mack wrote:First... one's feelings and assumptions on the matter are just that. The fact is these spring pins are more reliable than the plugs used for every other connection on the radio. The physical connection concept is the same... friction. There is no metallurgical bond between the crimped terminal and the wire, nore is there between the terminal and the header, so with the plugs you have two points of failure. On top of that, they are cheap tin while ours are gold. The method of mechanical station is also superior as you have a stronger coil spring pushing outward compared with the weak tension barb gripping the header pin. On mechanical retention, we have two strong screws forcing and maintaining contact vs a tiny plastic tab that is all that prevents a wire from pulling out. When you think about it, it is amazing connectors ever work, but they do. And spring loaded contacts are every bit as reliable and then some.
It makes sense what you say.. I was going to solder the board in place but will now use the pins..
And anyway, it is only whatever mundane tasks we give to the m64 that you'de lose in the extremely unlikely event physics is changed. The worst being the screen going blank.
That is what I thought ;) :D

João

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 5:10 pm
by Kilrah
s_mack wrote: On top of that, they are cheap tin while ours are gold.
Your pin is, but the pad on the 9X board definitely isn't and is known to not always be clean, and the mechanical assembly of the 2 boards is more "complex" than inserting a connector with more potential for positioning errors and overall looseness. Will need some really good instructions for people to properly clean and install, and hope they follow it.

I'm just remembering the multiple posts per week about SP programmer issues where the solution was "clean the board and reseat everything". We didn't have (m)any about the connectors.

I like the backup line concept.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 5:54 pm
by s_mack
You remember multiple posts per week about SP programmer issues... but have you ever seen a single one about a failed connection once established? If there isn't a connection, then there isn't a connection. So yes if it isn't positioned properly, not screwed down, or has something in between the pin and the pad (ie. varnish... it may as well have been a piece of wood) then there's not going to be a connection. Same thing, really, as if someone only partially inserted (or not at all) a connector.

I acknowledge that there is a downside: you have no satisfying "click" along with ability to visually inspect the connection as you do with a plug-type connector. Also, FlySky was horrible at leaving residue on their boards, and that isn't an issue with connector headers. So it *did* cause issues, as you say. But they were issues that were easily resolved, and once resolved were every bit as reliable as a plug-in connector, practically speaking, and more so theoretically speaking.

Isn't it better knowing that once it works, it will stay working even though it may not have worked initially... versus it working initially and not knowing if it will stay working? In reality, plug connectors are suitably reliable, of course. So my intention isn't to focus on the "better". But in terms of reliability long term, they are certainly no worse.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Mon Aug 10, 2015 11:15 pm
by MikeB
I've successfully read the signature bytes from the M64, and also the first 128 bytes of flash memory.
It shouldn't be too much more effort to be able to flash it.

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 1:49 am
by bob195558
jhsa wrote: and I believe the 9xtreme ADC is 3.3V João
Some of the 9x radios have the Taranis Gimbals with amplified pots.
With the lower voltage, will these have no problem with the lower voltage ? :?: :)

Edit: I think I remember the Taranis works with 3.3 volts and so will not be a no problem ?

Bob B.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 7:51 am
by MikeB
Correct, the Taranis powers the gimbals from 3.3V.

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 1:53 pm
by LTMNO
Wow!
just got back from holidays to get all this... unreal.. awesome work Mike and Steven...
I echo all of Jhsa responses... ;-) great work all around...
I was wondering if BT connect was going to be a standard... or easily supported... usb cables are great but the BT is much nicer, I noticed Jhsa commented on Wifi.. that could work too...

Thanks again!

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 2:48 pm
by MikeB
The board won't come with BT hardware. As it isn't a 'standard' item on the 9X, I'm not addressing yet. We need the basics all working first.
We do have an uncommitted serial port, so this could be used to drive a BT addon. It should only need the BT code pointed to the correct serial port and it should work.
The current plan, to get production going, is to get working firmware running that will be put into production boards. Once production is underway, it will clearly be possible to add features for those that want them.

A bit more progress today, the 9Xtreme board just flashed the Mega64 during startup. This is hardcoded for testing in that it does it every time. I've now got to add the code to check for the M64 already running and not flash it!

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 3:14 pm
by jhsa
That is super Mike, Thanks..

João

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 6:15 pm
by MikeB
M64 detection at startup seems to be working. Since we have control of the M64 reset line, needed for flashing, we can override the the large capacitor and get the M64 running much sooner than normal. If it if flashed correctly, it comes 'on line' within 30mS, although I wait up to 1 second to detect it. If it isn't detected, then an attempt is made to flash the correct firmware to it. This attempt reads the processor signature, and flashes the correct firmware for either the M64/M128 or the M2561.

I think the next step is a real installation in a 9X. I have a new M64 mainboard, never flashed for this stage of the testing. I'll need to solder a cable to the board as we don't have the correct connector available, there are different connector types, one on the 9Xtreme end and one on the M64 end, so you can't plug the cable in the wrong way round.

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 6:38 pm
by jhsa
Nice....

João

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 7:19 pm
by Irish Steve
Not been in for a while, so this comes as a nice surprise.

A leading question, how does the Extreme board compare performance and capability wise with the 9XR-Pro, or the performance of the Sky9x card that we had previously for the 9X.

I have all 3 here, in varying numbers, and also now interested in the options that this new board will open up, but I want to try and put this new board into the right place in the heirarchy of capabilities, if that makes sense.

From the messages I'm seeing here already, this is looking like a very good development for the future.

Well done all that are involved

Steve

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 9:52 pm
by MikeB
SKY board: Atmel 3S4 ARM CPU, 64MHz, 256K flash, 48K RAM
9XR-PRO: Atmel 3S8 ARM CPU, 64MHz, 512K flash, 64K RAM
9Xtreme: STM32F205 ARM ARM CPU, 120MHz, 512K flash, 128K RAM, basically the same CPU as in the Taranis, just fewer pins.

All have external EEPROM, SKY and PRO 512K, 9Xtreme 1M, although I'm only using 512K at present.

Mike.

Re: 9Xtreme Upgrade Board for 9x Radios

Posted: Tue Aug 11, 2015 10:13 pm
by lancaster
Mike
Its good to see that the Xtreme board is the same CPU as the Taranis

My pre order is now in - keep up the good work

thanks Hans