GUI

More
08 Aug 2012 19:26 #987 by FDR
Replied by FDR on topic GUI

PhracturedBlue wrote: I just changed the Trim names to be consistent. You'll need to re-copy the model/ directory

Where?
I see it in the model files, but not on the trim page of the tx...

Please Log in or Create an account to join the conversation.

More
08 Aug 2012 19:29 - 09 Aug 2012 10:19 #988 by FDR
Replied by FDR on topic GUI
6. Aileron is reversed... FIXED ;)
Last edit: 09 Aug 2012 10:19 by FDR.

Please Log in or Create an account to join the conversation.

More
08 Aug 2012 19:31 - 09 Aug 2012 10:20 #989 by FDR
Replied by FDR on topic GUI
7. Long EXT doesn't work on the channels monitor page. (It works from the tx menu thow...) FIXED
Last edit: 09 Aug 2012 10:20 by FDR.

Please Log in or Create an account to join the conversation.

More
08 Aug 2012 19:43 #990 by FDR
Replied by FDR on topic GUI
It turns out I absolutely don't understand the trim page.
In which order there should be the channels, and does it depends of the mod/protocol/phisical order or what? :blink:

Please Log in or Create an account to join the conversation.

More
08 Aug 2012 20:22 #991 by PhracturedBlue
Replied by PhracturedBlue on topic GUI

FDR wrote: 5. If on from the main screen I enter either menu ent the return to the main screen and give it a long ext, it clears the whole screen and I can't bring it back anymore, just with a restart.

Fixed

6. Aileron is reversed...

Actually the rudder is reversed. Fixed

7. Long EXT doesn't work on the channels monitor page. (It works from the tx menu thow...)

Fixed

PhracturedBlue wrote: I just changed the Trim names to be consistent. You'll need to re-copy the model/ directory

Where?
I see it in the model files, but not on the trim page of the tx...

What exactly do you see? It works for me in the emulator

Please Log in or Create an account to join the conversation.

More
08 Aug 2012 20:34 #992 by PhracturedBlue
Replied by PhracturedBlue on topic GUI

FDR wrote: It turns out I absolutely don't understand the trim page.
In which order there should be the channels, and does it depends of the mod/protocol/phisical order or what? :blink:

try it in the emulator.
Currently the buttons are incorrectly named on the Tx (so 'TRIMVL-' isn't actually mapped to the left-vertical-negative trim)

Trims have 4 inputs:
1) channel the trim will control. You are actually mapping to the stick though. So if you put in THR and you are in mode 2, this will be the left stick. If you switch to 'Mode 1' and come back, it will now say 'ELE' and still be the left stick.
2) the button to use to decrease the trim value. Normally this will be something like 'TRIM_LV-' (left-vertical negative)
3) the button to use to increase the trim value. Just like (2)
4) The trim step. the maximum range is +/-100 * step (so for 0.1 that is 10%)

Generally, you should never have to touch these once we configure them properly in the Tx (as I said, they are properly incorrectly named so they don't do what they are supposed to in the Tx, but do in the emulator)

The reason I allow configuration at all, is that the same system can be used to create virtual channels in the case you don't need trims.

Please Log in or Create an account to join the conversation.

More
09 Aug 2012 04:28 #993 by PhracturedBlue
Replied by PhracturedBlue on topic GUI
a) I fixed the trim names
b) I added a button-test page so you can see tat buttons are properly mapped
c) the trim stuff really is confusing :)
So there is another parameter I forgot about.
The order the trims are shown on the trim page is also important.

the 1st line should be set to be the left-vertical
the 2nd line should be set to be the right-vertical
the 3rd line should be set to be the left-horizontal
the 4th line should be set to be the right-horizontal
the 5th line should be set to be the left-upper
the 6th line should be set to be the right-upper

I'll have to give some more thought on how to reduce the confusion and still maintain the capabilities I want

Please Log in or Create an account to join the conversation.

More
09 Aug 2012 05:07 #994 by PhracturedBlue
Replied by PhracturedBlue on topic GUI

FDR wrote: 1. Screen calibration doesn't work: I had to use the keyboard after it, and reset the txt.ini from usb

fixed

Please Log in or Create an account to join the conversation.

More
09 Aug 2012 05:20 #995 by PhracturedBlue
Replied by PhracturedBlue on topic GUI

FDR wrote: 4. Not really a bug, but it would be handy, if on the channel and mixer pages the header would contain the function of the channel too (i.e. THR, AIL, ELE, RUD) according to the protocol selected, just like the buttons of the mixer list.

Fixed

3. It only shuts down from the main screen. All the other screens need an other event (touch or button click) to shut down after switching off.

Shutdown is generally unreliable. I have no idea why though. It doesn't seem to matter which page it is on for me. I have a feeling it has to do with a capacitor discharging Maybe I'm missing some step, I really don't know.

Please Log in or Create an account to join the conversation.

More
09 Aug 2012 05:20 - 09 Aug 2012 05:30 #996 by FDR
Replied by FDR on topic GUI

PhracturedBlue wrote: b) I added a button-test page so you can see tat buttons are properly mapped

Left/right is the wrong way for me...

EDIT: At least in the emulator. I haven't tried the tx yet...
Last edit: 09 Aug 2012 05:30 by FDR.

Please Log in or Create an account to join the conversation.

More
09 Aug 2012 05:58 - 09 Aug 2012 06:03 #997 by PhracturedBlue
Replied by PhracturedBlue on topic GUI

FDR wrote:

PhracturedBlue wrote: b) I added a button-test page so you can see tat buttons are properly mapped

Left/right is the wrong way for me...

EDIT: At least in the emulator. I haven't tried the tx yet...

Weird. For me left/right are ok, but up/down are reversed in the emulator. All is ok on the Tx though.

EDIT:I checked and up/down were indeed wrongly labeled, so I fixed that. I don't see any issues with Left/Right though.
Last edit: 09 Aug 2012 06:03 by PhracturedBlue.

Please Log in or Create an account to join the conversation.

More
09 Aug 2012 06:13 #998 by FDR
Replied by FDR on topic GUI
Now it is good in the emulator for me! :lol:

Please Log in or Create an account to join the conversation.

More
10 Aug 2012 09:43 #1041 by FDR
Replied by FDR on topic GUI

PhracturedBlue wrote: b) I added a button-test page so you can see that buttons are properly mapped

Could you put a button to lock/unlock the page similar to the one of the scanner page? It would be more straightforward...
The click anywhere approach gives false switches, when I touch the paging buttons anyway...

Please Log in or Create an account to join the conversation.

More
10 Aug 2012 10:22 - 10 Aug 2012 11:48 #1042 by wuselfuzz
Replied by wuselfuzz on topic GUI
Some thoughts about GUI usability. I hope I don't offend anyone when I say that the current GUI looks to me like it's hammered together for two causes: To prototype actual GUI elements and to test the underlying Tx functionality. It's hopefully not what the "end user" has to put up with in a later version.

So here's my take on use cases and scenarios for deviation. Note that "scenarios" describe actual situations you might be in and don't say a lot about how a specific UI element should be implemented in detail. However, the final implementation should make it possible to use the UI as described in the scenario, it's some kind of implicit specification.

I mainly see three main use cases:

(1) You've got your fleet in your car, are driving to the rc airfield and just want to fly.

(2) You've got a new model and need to do a complete set up from scratch.

(3) You've just maidened your model at the field and now it's about tweaking all the settings.


Scenario 1: A day at the field. You have a helicopter, a thermal glider with telemetry and a trainer you're using with a buddy box cable to a friends RX to teach him fly.

You start out with some helicopter 3D flying. Using the dual rate and flight mode switches feels familiar to your old Tx. While you're flying, you never look at the display, but an audible signal tells you when the timer ran out and you've got to land. You're pondering about telemetry in your heli monitoring the lipo voltage instead of using the timer, so you can get a couple of minutes more flight time. Since you don't trust all these new thingamagics, it would be nice to have both the timer and the telemetry alarm, distinguishable by different melodies or tones. Logging the flight times/battery voltages in combination with the model setup for the last bunch of flights would be a cool feature to tweak the model settings.

After your blood pressure went over 180 from all the 3D flying, you decide to take a break and watch a buzzard in the sky. Time to get out the glider!

You're pushing the "model select" hot key or a large icon on the display to get a list of models stored on your tx. The GUI elements of this list are large enough to push with fingers, so you don't have to fiddle out the stylus and possibly lose it in the grass. Alternatively, the GUI can be controlled by the Tx buttons. A beep and the display indicate that the Tx tries to bind to another receiver now.

After binding, the main display shows the telemetry data from your glider: battery voltage and altitude. You decide to activate the telemetry logger in the Tx by either using the hot key or that large, finger pressable GUI button, because the weather might give you a new record in thermal gliding.

After the bird is in the air, you rarely take a glimpse on your display to read telemetry data. Then you remember that new "audible variometer" mode and flip a switch on your Tx. Now your Tx does short high pitched beeps when your glider climbs, and long low pitched beeps when it's losing altitude. Ah, that's much better than holding up your Tx so high that you can see both the display and your plane at once (side note: I actually saw a guy at our field doing that, that was kinda hilarious).

An hour later, the telemetry battery alarm finally suggests to land. Meanwhile, your new flying buddy arrived at the field, presenting you his new ACME Transmitter.

You select the model configuration for your trainer plane in your transmitter. You somehow make your buddy's ACME Tx make output PPM through a 3.5" plug and connect his Tx and your Tx with a mono-cable. You enable "Trainer" mode on your Tx by pushing a large GUI button. With other Txes, you had to worry about overall compatibility, channel ordering, servo extends and trim setup, but the new "Trainer mode quick calibration" makes this all very easy: Your buddy moves the throttle stick to min, you press a button. Your buddy moves the throttle stick to max, you press a button. Same for the other three stick axes. In the last step, you're selecting which of the four main THR, RUD, AIL, ELE inputs can be switched over to the buddy Tx. You decide to check the boxes for aileron, elevator and rudder.

You're starting the trainer, bring it to a safe height and flip a switch. Controls are not immediately transfered to your buddy, but a short tone sequence tells him to get ready (BEEP-BEEP-BEEP-BEEEEEP, think Mario Kart).

After control is switched over, the trainer calibration makes sure that your buddy using RUD, AIL, ELE behaves exactly as if the same stick on your Tx is moved, i.e. it doesn't replace the mixer outputs of your Tx with the output of your buddy's Tx, but instead replaces the stick input of your Tx with the calibrated value of your buddy's stick.

Now your buddy lost it and you have to recover the plane. You flip the trainer switch back and a short beep informs both of you that control is back in your hands.

After a while, you decide that he's ready to get full control, so you bring the plane down, and change the battery for a fresh one. You turn your Tx back on and activate Trainer mode. Since the ACME Tx still has the same settings as before, you push the "Use last saved calibration" button on the Trainer quick calibration screen, also check the throttle check box on on the override screen and are ready to go.

---End of Wall-of-Text---

Wow, this has become longer than I initially expected.

I put up number (2) up there with a model setup wizard in mind. I hope this doesn't get as long as (1). ;)

Scenario 2: You also have a 450 class heli and a FunJet that both have a Walkera RX2801 that you've previously flown with your WK2801Pro Tx. You also got a 250 class Heli and a MiniSwift with Spectrum receivers that you've previously flown with your DX6i. Since deviation seems to be stable enough, you decide to move them over.

Since you're at home in your workshop, you have no issues with sun glare and happily use the stylus to set up the model. You start by going to the model select screen. There's a smaller button "New Model Wizard" asking to be tapped.

You decide to set up the MiniSwift first, since it's a simple 4 channel glider.

The first thing you're asked is what kind of receiver you've put in. A list of supported RX protocol is shown and you press the button "DSM2".

The next screen informs you, that this kind of receiver requires to be bound to the Tx. It asks you to put a bind plug on the BATT connector, turn the RX on, wait until the LED stops blinking, turn it off, remove the plug and push the OK button.

The next screen asks you if you want to configure a plane or a helicopter. This looks like a plane. As soon as you push the "plane" button, you get a list of choices regarding the servo configuration: "Elevator + Rudder", "Elevator + Aileron + Rudder", "Elevator + 2x Aileron + Rudder", "Aileron + V-Tail", "2x Aileron + V-Tail", "Delta".

(lunch break.... going on later...)

You select "Elevator + Aileron + Rudder", because it fits the MiniSwift, and the first page of the individual servo configuration for the elevator comes up. You select the output for the elevator channel on the rx from a list box listing all unassigned channels. There's a test button that moves the servo to the up, down and center positions when pushed repeatedly. There's also a check box for reversing the servo and two sliders for setting the servo end points.

After pressing the OK button, you're getting to the aileron and rudder pages that work the same (but instead of up and down, the indicator beside the test button shows "left" and "right").

When the servo setup is finished, you have to enter a name for your model and it's saved to the filesystem as "modelname.ini".

...
Last edit: 10 Aug 2012 11:48 by wuselfuzz.

Please Log in or Create an account to join the conversation.

More
10 Aug 2012 13:31 #1045 by PhracturedBlue
Replied by PhracturedBlue on topic GUI
Wuselfuzz...I'll be really blunt. I'm going to get bored and stop working on this project withing another 6-months to a year. My interest lies almost entirely in:
a) supporting a lot of Tx with the same firmware
b) supporting a lot of protocols with the same firmware
c) figuring out how to squeeze more functionality out of a cheap Tx

My flight skills are limited to 4ch helis which I fly poorly. I can fly neither a 6ch heli nor a plane with any skill. I've never been to an RC field, and really have no interest in going to one.

I've spent the last month focused almost entirely on getting the GUI barely functional, and it is boring, tedious work. I plan to do as little more as possible to get the necessary functionality enabled.

Unless you find someone with interest in GUI design, your ideas are pie-in-the-sky. Very cool, and visionary, but not something I have any interest in developing myself for the most-part.

Please Log in or Create an account to join the conversation.

More
10 Aug 2012 14:58 - 10 Aug 2012 15:18 #1050 by PhracturedBlue
Replied by PhracturedBlue on topic GUI
While we're in story-telling mode, let me give you an idea of how I see model configuration working.....

I've been flying 45-degree FP helis for a little while and am pretty comfortable with them. I just saw a killer sale on the MiniCP, so I ordered one on impulse buy. While waiting for it to arrive, I start thinking to myself 'What have I done? I have no idea how to handle this....'. but my new heli shows up a couple of days later, and I press on. I go over to deviationtx.com, go to the 'Models' page, and search for 'MiniCP' I get a half-dozen results, and scanning through them, most look like they were designed for the Michael Schumacher of the RC world. But somewhere in there I see this description:

For Walkera MiniCP. Detunded to behave like an FP. Great for beginners. Setup for Devo10 mode 1

Well...i have a Devo8, and fly Mode2, but otherwise that sounds just like what I need, so I download it. Next I turn on my Tx in USB mode, and copy the new file to an empty slot. I exit USB mode, go over to the 'Load' Page, and select 'MiniCP- Beginner'.
Since this is setup for a Devo10, I go over to the templates page and select '6ch Heli w/ Telemetry - Volt'. That should give me a good startng config. Next I go over to the Mixer page and quickly check the curves on each channel. I don't really understand everything, but I can see that there's plenty of expo set and limits have been reduced. I switch over to the channel test page just to see what's going on and...oops...I forgot they this is setup in Mode1...back to the config page, and now we're Mode 2. I double checked the channels and the sticks are assigned properly. Time to fly. I get out my brand new MiniCP, and go out to my backyard. I turn on the MiniCP and the Tx and everything binds properly. Next I take off, and, yep she's flying well. 10 seconds later, I've crashed terribly....Even a MiniCP that's been detuned flies nothing like a 45-degree FP...Oh well, maybe I should order a simulator while I'm waiting for replacement parts to come in.
Last edit: 10 Aug 2012 15:18 by PhracturedBlue.

Please Log in or Create an account to join the conversation.

More
10 Aug 2012 15:09 #1051 by FDR
Replied by FDR on topic GUI
:lol:
That was good!


However I've already suggested things, like when selecting an empty modell (do we know is it empty?) go straight to the model setup page instead of returning to the main page...

Please Log in or Create an account to join the conversation.

More
10 Aug 2012 19:09 #1055 by FDR
Replied by FDR on topic GUI
8. Something is fishy with the trim settings saving: it leave out the trim3, or if I set it up again for the rudder trimlh-/trimlh+, then it writes RUD as source instead of it's code...

9. After reseting a model data, paging puttons of the model page don't work, I have to exit to the main page first...

Please Log in or Create an account to join the conversation.

More
11 Aug 2012 00:25 #1057 by sutaburosu
Replied by sutaburosu on topic Re: GUI

MatCat wrote: I don't recommend using black for full transparency marker though because it is too valuable a color to be used.

Sorry to drag up an old post, but I'm reading through this thread to catch up with you guys and this rang alarm bells for me. Perhaps it has already been addressed; if so, ignore me, I'll get to the rest of the thread soon.

The redraw is painfully slow in Walkera's firmware, and one of the things I hope to help achieve with Deviation is a less laggy GUI. I suspect this is an unrealistic goal given the limitations of the serial link to the screen, but I'm willing to sink some time into it.

There is a good reason Walkera chose 0 as the transparent colour: on ARM you can optionally set the CPU status flags as if comparing against 0 after performing any ALU operation (or a load from memory) without incurring any extra cycles. This ties in well with every ARM instruction having a conditional predicate, allowing a good compiler/programmer to eliminate all branching within the inner loops of plot routines and other simple code. (We are generating ARM opcodes, right? Not Thumb?)

In short, we want the transparent colour to be 0 for the performance boost and denser code it will provide. Using the darkest shade of blue (the colour to which our retina is least sensitive) has been used for decades on other ARM platforms as an approximation of black. Most people never notice.

Please Log in or Create an account to join the conversation.

More
11 Aug 2012 01:35 #1058 by PhracturedBlue
Replied by PhracturedBlue on topic Re: GUI
With regards to using 0 for transparency, this isn't the bottleneck. There are 2 things that control the speed of refresh:
1) the speed of reading from SPI flash
2) the speed of writing to the display

LCD pixel access is not very efficient, and you cannot choose to skip a pixel when streaming writes, so having transparency is expensive if it is used a lot. The code is about as efficient as possible handling transparency today.

Reading from the Flash is not very fast, and bitmaps are quite large (relativelyu speaking). We pay a significant penalty for supporting bitmaps in the code.

It takes about 280msec to draw the entire screen with a non-transparent bitmap.
The time is almost perfectly linear to the number of pixels drawn. So the fastest display possible is to only incrementally draw what needs it, and to draw shapes (not bitmaps). We've done this as much as possible already with the current code, but refresh is still slow. It has virtually nothing to do with the performance of the code though, it is now almost entirely related to the speed of the SPI and FSDM bus.

Please Log in or Create an account to join the conversation.

Time to create page: 0.117 seconds
Powered by Kunena Forum