[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