Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 07:06 02 May 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : ArmmiteH7: V5.05.10 - USB keyboard and editor improvements

Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 06:02pm 07 Nov 2019
Copy link to clipboard 
Print this post

Please find attached V5.05.10

No significant functionality changes but fairly major internal improvements so please test carefully

Functional:

TIMER now returns the time in milliseconds as a floating point number accurate to the microsecond
EDIT now supports mouse positioning as per the MM+

Internal:
USB Keyboard changes to improve compatibility with "cheap" keyboards that don't support the full Microsoft defintion
USB keyboard now tested and working up to 540MHz on a ZI2 board - for me at least
Changed the way programs are written to flash memory
Fixed the background ADC problem properly, rather than a hack.


ArmmiteH7-5.05.10.zip
 
Tinine
Guru

Joined: 30/03/2016
Location: United Kingdom
Posts: 1646
Posted: 07:17pm 07 Nov 2019
Copy link to clipboard 
Print this post

Yay, Thanks Pete. Microseconds will be useful.

Loving this stuff!

 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1366
Posted: 10:02pm 07 Nov 2019
Copy link to clipboard 
Print this post

Has anyone tried this update?

I just loaded it onto the H7 version 1 board.

It returns [?10001 on power up / reset and to CTL-C, you may need to enable console to see it on the LCD as some editors hide the code, is this a mouse position VT code ???

The Keyboard no longer works (remember this is a V1 board) which was working 100% with the keyboard.

I have to go out for a few hours and will try to get time when I return to dig a little deeper. BTW I reloaded the bin file twice.
It's all too hard.
Mike.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 10:20pm 07 Nov 2019
Copy link to clipboard 
Print this post

  Quote  It returns [?10001 on power up / reset and to CTL-C,


Sorry should only have gone to the serial port - fixed here


ArmmiteH7-5.05.10.zip

Keyboard definitely works on ZI2

OPTION USBKEYBOARD UK, -76

use

OPTION USBKEYBOARD UK, 91

on original
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1366
Posted: 12:27am 08 Nov 2019
Copy link to clipboard 
Print this post

Just arrived back, In my rush to test the only spare H7 (V1) I forgot about the different ctrl pin. (I got the polarity right though)

100% on the keyboard and that esc code is now removed from the console.

Will test the Z2 and keyboard next.

As always, the biggest thankyou for the never ending coding that you do for us.

Mike.
It's all too hard.
Mike.
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1366
Posted: 12:59am 08 Nov 2019
Copy link to clipboard 
Print this post

Arm H7 (V2) Keyboard 100% @ 540MHz.

250KB Controller program loaded and runs perfectly.    

Mike.
It's all too hard.
Mike.
 
Rodgerg
Newbie

Joined: 13/10/2019
Location: New Zealand
Posts: 12
Posted: 06:55am 08 Nov 2019
Copy link to clipboard 
Print this post

I am using a ZI2 Board, but I still see the escape characters on the console, even  when using the most recent firmware

> [?1000l
> [?1000l
> ARMmite MMBasic Version 5.05.10
Copyright 2011-2019 Geoff Graham
Copyright 2016-2019 Peter Mather

[?1000l>


I have re-tested the background ADC sampling and it continues to work just fine following the permanent fix.
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1366
Posted: 08:24am 08 Nov 2019
Copy link to clipboard 
Print this post

Peters change was to remove the escape codes from the inbuilt MMbasic console, shown on the LCD.

I now have no codes on the LCD console, however depending on the external terminal program you are using, they may well be visible on that.

Mike.
It's all too hard.
Mike.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8592
Posted: 08:08am 09 Nov 2019
Copy link to clipboard 
Print this post

Tiny change that gives access to the 128 bytes of battery backed memory in the RTC.

ArmmiteH7-5.05.10.zip


This has two new sub commands

SAVE NVM string$
LOAD NVM string$

These commands read and write a string up to 128 bytes in length to battery backed memory in the RTC

e.g.

A$="1234567890"
save nvm a$

power off, then power on

load nvm a$ ‘a$ created if not already defined -change from previous post in other thread
print a$

Use BIN2STR$ and STR2BIN to format numbers for saving and restoring. The data is saved in the battery backed memory as long as VBAT is powered. 128 bytes is the total size of the RTC battery backed memory, attempting to save a string longer than 128 bytes will give an error
 
Rodgerg
Newbie

Joined: 13/10/2019
Location: New Zealand
Posts: 12
Posted: 08:59am 09 Nov 2019
Copy link to clipboard 
Print this post

@KeepIs  Thanks for clarification Mike.

  Quote  depending on the external terminal program you are using, they may well be visible on that.


Your are absolutely correct.

I have been using MMEdit Chat as my terminal program until now as everything is nicely integrated in MMEDit for editing, uploading and controlling the Micromite.

Full screenshot below



With Teraterm, it looks like this



Much better

So, biting the bullet, I added the file upload and time setting macros to TeraTerm as per the MMEdit manual instructions for working with TeraTerm.

Interestingly, during some trials, TeraTerm was much quicker to upload a 31k file at 230k baud, so this is a bonus.

Upload time using TeraTerm   9.4 s
Upload time using MMEDit    25.0 s

Of course, one small contributor to the difference may be the crunch time, as I just get TeraTerm to send the pre-crunched .baz file, but I would not expect this to be significant.

I may still use MMEdit Chat for small tests, but the control codes appearing on the screen are a little annoying.

One thing I will really miss about MMEdit Chat though is the Linux-like ability to scroll back through recent commands with the up and down arrows, which I assume uses some form of keystroke buffer.

Thanks for your help

Rodger.
Edited 2019-11-09 18:59 by Rodgerg
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 5908
Posted: 08:45pm 09 Nov 2019
Copy link to clipboard 
Print this post

MMEdit hasn't kept up with recent changes to some of the MMBasic variants.
I will update it eventually but TeraTerm will always be a much better terminal program.

Jim
VK7JH
MMedit   MMBasic Help
 
KeepIS

Guru

Joined: 13/10/2014
Location: Australia
Posts: 1366
Posted: 10:09pm 09 Nov 2019
Copy link to clipboard 
Print this post

Just out of interest, I timed a 43k file @ 128k baud using my own central programming control application which uses MMbasic Autosave.

43k file @ 128k baud in 3 seconds.

Below is a 245K file sent in 19 seconds, if you include the time that MMbasic takes to save a 245k file to memory. It's a total of 25 seconds.


AUTOSAVE STARTED
BAUD RATE 128000
FILE AGV2.bas
LENGTH 245774

*******************************
*******************************
*******************************
*******************************
*******************************
***************

FINISHED sending the FILE to the device

Press the SAVE? button for DEVICE WRITE options.


From this control center I launch all the ARM programming tools when needed, Notepad++, BIN file transfer with ARM node auto detect, and "Tera Term" which has its  baud rate and port address automatically set along with column width auto-set to 132 on both the H7 and "Tera term" by the control program. No more worrying about port speed or port address when switching between different devices I'm working on. A column width of 132 makes it simple to keep code lines from wrapping or clipping in the editor. A blessing for me when using the inbuilt editor on a 9" LCD for quick field edits and testing. Single line commands with history, user command lists and auto send option lists for each device I'm working on. It's nothing fancy but it sure makes setting up different devices simple for me.

Mike.
Edited 2019-11-10 08:10 by KeepIS
It's all too hard.
Mike.
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024