Mantis Bug Tracker

View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000765EMStudioUser Interfacepublic2012-11-28 17:452013-02-07 13:17
ReporterBenFenner 
Assigned ToBenFenner 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformAllOSAllOS VersionAll
Product Version0.0.1-SNAPSHOT 
Target Version0.0.1Fixed in Version0.0.1 
Summary0000765: Initial message(s) received with no ECU connected need to be better.
DescriptionRight now with no ECU connected the error given is: http://i.imgur.com/XgUMz.png [^]

That needs to be re-worked into better message(s). It seems there are three things going on? Maybe more?

Serial Monitor Mode blocking things?
Wrong port/connection settings?
Potentially just wanting to use the app in offline mode?
Others?
TagsNo tags attached.
Issue TypeBug
Attached Files

- Relationships
related to 0000743assignedmalcom2073 Intelligent connection handling for SM/FW 

-  Notes
User avatar (0002436)
Fred (administrator)
2012-11-28 17:50

Duplicate of 0000743 really, but they can both live.
User avatar (0002437)
Fred (administrator)
2012-11-28 17:53
edited on: 2012-11-28 17:54

(18:39:14) Fred: BenFenner: four cases:
(18:39:20) Fred: can't open port
(18:39:27) Fred: can, but no answer/bogus data
(18:39:32) Fred: can, id on sm
(18:39:35) Fred: can, id on fw
(18:39:43) Fred: 3 errors should be distinct

Any/all could suggest offline, and "found sm" should assist user in changing over to fw as a primary default option.

Additionally, "lots of data/bogus data" could suggest checking serial settings and or that there might be some other random device attached. This is difference to silence on the line, which could mean unplugged physically if using rs232.

User avatar (0002448)
malcom2073 (manager)
2012-11-29 17:39

Suggested responses/actions for the errors, please give suggestions!

Can't open port:
Error: Unable to open Com port XXXX. Check to ensure no other application has the port open and that the port exists!

Unable to open port due to another freeems app having it: (Yes, that works atm)
Error: Unable to open Com port XXXX. There is another freeems application holding the port open. Please close all other freeems related applications and try again.

Port opens, but no data:
Error: Unable to communicate with ECU, COM port unresponsive. Please verify it is plugged in, powered up, and all COM settings are set properly.

Port opens, bogus data:
Error: Unable to communicate with the ECU. Corrupt data received, please verify COM port settings.

Port opens, SM mode:
Error: "Serial Monitor mode has been detected! Please remove SM jumper and hit ok" (At this point, ok would send a SM reset command and try again)

Port Opens: FW:
Uh... this is ok!
User avatar (0002449)
Fred (administrator)
2012-11-29 18:56

Port opens, bogus data:
Error: Unable to communicate with the ECU. Corrupt data received, please verify COM port settings.

This could do with something about an unrelated device being attached, otherwise excellent. Thank you for your efforts on this!
User avatar (0002453)
BenFenner (updater)
2012-11-29 20:48

Minor change suggested:


Port opens, but no data:
Error: Unable to communicate with ECU; COM port unresponsive. Please verify the ECU data cable is plugged in, the ECU is powered up, and all COM settings are set properly.
User avatar (0002454)
BenFenner (updater)
2012-11-29 20:49

Looks great from here. Don't forget the option to "Go Offline" if appropriate.
User avatar (0002455)
Fred (administrator)
2012-11-29 20:59

Error: Unable to communicate with ECU; Serial port unresponsive. Please verify that the cable is plugged into the ECU, that the ECU is powered up, and that all COM settings are set properly.

All COM references should be wholly replaced with serial. Serial port is generic across all platforms. COM port is a windowsfuckism. Ditto COM settings, Serial settings, thanks.

OK, that's my 2c on wording. Hentai motivated it a few weeks back re Sean's loader.
User avatar (0002457)
malcom2073 (manager)
2012-11-29 22:12

Should most every situation have Ok, Retry, and Load Offline Data options? Or just Ok and Load Offline Data.?
User avatar (0002458)
Fred (administrator)
2012-11-29 22:19

What would OK mean? I think OK and cancel are out of place here. Each option should say what it'll do? is it valid to have the app open without it being either offline or connected? I like that it is. MTX isn't capable of that. How do you say to the user "this button will take you to a bare app with nothing happening" ?
User avatar (0002459)
BenFenner (updater)
2012-11-29 23:03

In my opinion we have three states, and I think the names of the states are confused a little bit. In my opinion, we have an Offline state, an Offline with data loaded state, and an Online state.

The options should be:

Retry Connection - Work Offline

If Work Offline is chosen, then maybe ask about loading data? Or just leave it up to the user... Or auto-load the last offline data successfully loaded?
User avatar (0002460)
Fred (administrator)
2012-11-29 23:59

Maybe:

Retry
Load Data
Do Nothing

or similar.

I like the go straight to the point approach. Having a second pop up for loading offline data would be a pain, as would having to select it from a menu if that's what you want.
User avatar (0002463)
malcom2073 (manager)
2012-12-04 18:22

Need to put this in generic terms. The lower level should throw one of several types of errors, and present a custom message to the user.
Here's the error type:

enum SerialError
{
    UNABLE_TO_CONNECT, //Unable to open the com port
    UNABLE_TO_AQUIRE, //Unable to aquire a lock on the com port
    NO_DATA, //Opened com port, but no respose to messages/no data?
    INVALID_DATA, //Opened com port, garbage data
    LOADER_MODE, //Opened com port, in loader mode
    NONE //No error
};

UNABLE_TO_CONNECT
Message:
"Error: Unable to open serial port XXXX. Please ensure no other application has the port open and that the port exists!"
Buttons:
Ok, Retry, Load Offline File

UNABLE_TO_AQUIRE
Message:
"Unable to open serial port due to another freeems application locking the port. Please close all other freeems related applications and try again."
Buttons:
Ok, Retry, Load Offline File

NO_DATA
Message:
"Unable to communicate with ECU, Serial port is unresponsive. Please verify your FreeEMS Board is plugged in, powered up, and all serial settings are properly set."
Buttons:
Ok, Retry, Load Offline File

INVALID_DATA
Message:
"Unable to communicate with FreeEMS, corrupt data received. Please verify serial settings, in particular double check the baud rate."
Buttons:
Ok, Retry, Load Offline File

LOADER_MODE
Message:
"Serial Monitor mode has been detected! Please remove SM jumper!"
Buttons:
Ok, Retry, Load Offline File


"Ok" would close the error and leave you with a blank slate. I see this as accepting the error and requesting no action.

"Retry" would retry

"Load Offline File" would pop up the file selection dialog for you to select an offline file.

This allows every error to have the same buttons, and maintain all the expected functionality for each case, yes?
User avatar (0002464)
Fred (administrator)
2012-12-04 19:42

UNABLE_TO_AQUIRE >> UNABLE_TO_AQUIRE_LOCK

OR

UNABLE_TO_AQUIRE >> UNABLE_TO_LOCK

enum SerialError >> enum SerialState/SerialResponse

OR

Remove "NONE"

"Please verify serial settings, in particular double check the baud rate."
>>
"Please verify serial settings! (especially baud rate and parity.)"

"Unable to open serial port due to another freeems application locking the port. Please close all other freeems related applications and try again."
>>
"Unable to open serial port XXXX because another compatible application has locked it. Please close all other serial-port applications and try again."

"Serial Monitor mode has been detected! Please remove SM jumper!"
>>
"Serial Monitor mode has been detected! Please remove SM jumper and click retry!"
User avatar (0002466)
malcom2073 (manager)
2012-12-05 18:39

Initially in d663440bf001cc784f20307039a2263829b63a88

Check it out and let me know. Leaving issue open until I make the SM mode reset/retry thing work.
User avatar (0002577)
Fred (administrator)
2013-01-29 13:19

5b3814b1a0c38ca2485d39ae7b817edf75534095

Connect to device without FreeEMS on it gives:

./src/mainwindow.cpp:1658: QMessageBox::information(0,"Error","Something has gone serious wrong, one of the commands timed out during interrogation. This should be properly investigated before continuing");

Which doesn't really align with our previous discussions on this.

Device doesn't exist box for /dev/ttyUSBOMG is fine, though. Can't test SM right now.
User avatar (0002597)
malcom2073 (manager)
2013-02-02 18:00

Try the different ones now: 4418f017e94e025e62c5d9202d51551fbbd0669b
User avatar (0002602)
Fred (administrator)
2013-02-07 13:17

Good. I guess all that is left is sending a reset to the SM on retry before trying to talk to FreeEMS?


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker