[Ovmsdev] Poor wifi performance

Mark Webb-Johnson mark at webb-johnson.net
Tue Jul 10 10:01:19 HKT 2018


Maybe timing related? They’ve messed with things to try to avoid the ‘wait for end of line’ delay.

Regards, Mark.

> On 10 Jul 2018, at 9:30 AM, Stephen Casner <casner at acm.org> wrote:
> 
> I don't see “Password:” overwriting “OVMS>” but I see "Secure mode"
> overwriting "Password:".  Since "Secure mode" is a printf, not a
> write, I would expect \n to be massaged into \r\n somewhere along the
> path.  It can't be expected that all output strings get \r\n instead
> of \n.  So I have to retract my assertion of having fixed the problem.
> 
>                                                        -- Steve
> 
> On Tue, 10 Jul 2018, Mark Webb-Johnson wrote:
> 
>> 
>> Still not working for me. I get:
>> 
>> “Password:” overwriting “OVMS>” when I type “enable”.
>> First line of output overwrites command prompt whenever I type a command.
>> Pressing ENTER at “OVMS#” prompt seemingly does nothing.
>> 
>> Looking through the code, we send \n, not \r\n, in multiple places (for example in ovms_command.cpp enableInsert() function that handles password entry. A ‘find in project’ for \n shows 11,350 results! Simple_monitor works just fine.
>> 
>> Regards, Mark.
>> 
>>> On 10 Jul 2018, at 4:35 AM, Stephen Casner <casner at acm.org> wrote:
>>> 
>>> This problem of no newline is related to the somewhat tricky way I
>>> implemented alert output being written above the current command input
>>> line.  I truncate the newline from the last or only line of an alert
>>> message so that when it is followed by microrl putting out a new
>>> prompt, which is preceded by a newline, we don't get a blank line.
>>> 
>>> I've just committed a fix.  The problem was that the terminal monitor
>>> discards a newline that does not follow carriage return, and microrl's
>>> terminal_newline() function was written to output the same string to
>>> go to the next line as it takes for input to indicate the end of a
>>> command.  We need the input end-of-line to be just a newline
>>> character, so that is all that terminal_newline() put out before the
>>> prompt.  My fix was to change terminal_newline() to output the
>>> explicit string "\r\n" rather than the macro ENDL.
>>> 
>>>                                                       -- Steve
>>> _______________________________________________
>>> OvmsDev mailing list
>>> OvmsDev at lists.openvehicles.com
>>> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev




More information about the OvmsDev mailing list