9Xtreme Upgrade Board for 9x Radios

Cant get your radio to work? General Hardware issues?
lancaster
Posts: 206
Joined: Thu Jun 12, 2014 10:28 pm
Country: United Kingdom

Re: 9Xtreme Upgrade Board for 9x Radios

Post by lancaster »

mike
still working on sunday?

you must be dedicated!

regards
Hans

User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: 9Xtreme Upgrade Board for 9x Radios

Post by jhsa »

Thank you Mike..

João
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
Suncoaster
Posts: 313
Joined: Thu Dec 29, 2011 10:18 am
Country: Australia
Location: Cooloola Cove, Australia

Re: 9Xtreme Upgrade Board for 9x Radios

Post by Suncoaster »

Watching with interest, pre-ordered and have a 9x waiting to go.. :mrgreen:
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!

User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
s_mack
Posts: 882
Joined: Thu Dec 29, 2011 6:11 am
Country: -

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
Kilrah
Posts: 11108
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
s_mack
Posts: 882
Joined: Thu Dec 29, 2011 6:11 am
Country: -

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
bob195558
Posts: 2377
Joined: Sun Dec 16, 2012 7:24 pm
Country: United States
Location: New England, Vermont
Contact:

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
Er9x on 9x radio, with Smartieparts Programmer and TelemetrEZ Board.
ErSky9x on Taranis, Sky9x, 9Xtreme radios.
3D-Printing: (https://openrcforums.com/forum/viewforum.php?f=129).
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post by MikeB »

Correct, the Taranis powers the gimbals from 3.3V.

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
LTMNO
Posts: 1049
Joined: Fri Nov 30, 2012 9:31 pm
Country: Canada
Location: Toronto, Canada

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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!
Custom 9x with M64/Telemetry Mod
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: 9Xtreme Upgrade Board for 9x Radios

Post by jhsa »

That is super Mike, Thanks..

João
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
User avatar
jhsa
Posts: 19480
Joined: Tue Dec 27, 2011 5:13 pm
Country: Germany

Re: 9Xtreme Upgrade Board for 9x Radios

Post by jhsa »

Nice....

João
My er9x/Ersky9x/eepskye Video Tutorials
https://www.youtube.com/playlist?list=PL5uJhoD7sAKidZmkhMpYpp_qcuIqJXhb9

Donate to Er9x/Ersky9x:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YHX43JR3J7XGW
Irish Steve
Posts: 149
Joined: Thu Dec 29, 2011 10:04 pm
Country: -
Location: Ashbourne Co Meath

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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
Irish Steve

If it was easy, shure, would't we all be doin it?

_
User avatar
MikeB
9x Developer
Posts: 17990
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
lancaster
Posts: 206
Joined: Thu Jun 12, 2014 10:28 pm
Country: United Kingdom

Re: 9Xtreme Upgrade Board for 9x Radios

Post 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

Post Reply

Return to “Hardware”