Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 21:45 27 Nov 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 : PicoMite "Analogue Clock"

     Page 2 of 3    
Author Message
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2129
Posted: 02:39pm 29 Aug 2022
Copy link to clipboard 
Print this post

MMBasic is easy when you leave other systems behind. Some existing code can be converted but it is only a bit easier than starting a fresh program in mmbasic.
I think most people who download and start using mmbasic will not be people who have never programmed before and will learn basic programming from the manual.
I am guessing they have previous basic programming experience and will be thinking of previous basic when using mmbasic.
I do not want to "migrate" to mmbasic, I just want to use it along with another system but it can be confusing switching basics.
It would seem a waste to use a picomite for a robot when an arduino nano would do it cheaper.
mmbasic has features that can not be done with 8bit pics afaik
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 05:39pm 29 Aug 2022
Copy link to clipboard 
Print this post

Don't confuse GCBASIC with BASIC. GCBASIC is a compiler with a reduced and very specialised instruction set for a narrow range of devices. It's not typical of a "proper" BASIC such as GWBASIC. There haven't been any general purpose 8-bit BASICs for many years now. MMBasic is more like BBC BASIC than, say, Atari, CBM or Spectrum BASIC.

I suspect that new MMBasic users will either realize the above or will be coming from a C or Python background. I *hope* they read the manual - you don't walk into Python 3 and expect to immediately write quality software when you know C and a bit of BASIC. If you think that you'll fail miserably. :)  All versions of BASIC have variations, but most of the general purpose ones have their roots in GWBASIC.

An Elegoo copy of an Aduino Nano is over £5.30 if you buy a pack of 3.
The official Arduino Nano is about 21 euros.
The official Pico is £3.90 inc. VAT
There's no cost advantage in using the Arduino Nano.  :)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2129
Posted: 06:43pm 29 Aug 2022
Copy link to clipboard 
Print this post

Mick sir, I realise that I am in a new environment. "I am luvin it" and have posted emails to gcb gurus showing mmbasic and saying it could be a slave to gcb for graphics as a nextion display is used. more to that than I thought.
You did once say "if you insist on using mmedit" well it is 2022.
mac and linux users are all ways moaning.. got to use wine.
If they want to use win progs then use widoze

Usually programs like mmbasic want new users??
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 07:23pm 29 Aug 2022
Copy link to clipboard 
Print this post

I didn't say "don't use MMEdit", I said that it's not a good idea to attempt to learn it while you are also experimenting with unknown hardware. It introduces another layer of possible problems that you simply don't need. The one thing you *can* say for the built-in editor is that it is guaranteed to have 100% compatibility with the PicoMite under all circumstances. We all have it and anyone can help you out - not just MMEdit users.

"Usually programs like mmbasic want new users??"
Not sure what you mean? We do nothing to try to persuade anyone otherwise. Recommending that a safe way to test hardware is to use known good software is only logical. You would rarely be writing long programs for testing purposes.

MMEdit is an excellent piece of software and people that use it are very happy with it. However, it does come with its own learning curve and (I think Jim will forgive me for saying this) the Help system is some way behind it's current capabilities. As it is software it will have it's own bugs. So will the built-in editor, but that is much older and simpler than MMEdit (it's not changed a lot since the original Maximite) and has had more user testing. You are less likely to hit an unknown bug if you use that when testing unknown hardware.

If you want to write your programs (not test unknown hardware) using MMEdit, Notepad++, or anything else, that's fine. Use whatever you are most comfortable with.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2129
Posted: 08:29pm 29 Aug 2022
Copy link to clipboard 
Print this post

Mik, I am liking mmbasic, It is all new and shiny and easy enough that even I can use it, The built in editor which I use with teraterm is totally new,
It is a small screen and make full screen loses the f1,f2, info panel.
I have spent hours trying to use it and still it is a pain to use.
Someone said they go icon blind using mmedit. and me. but it so familiar to use.
I have no connections with the author of mmedit but it is an alternative for win users.
notepad++ or geany no, not setup.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 09:25pm 29 Aug 2022
Copy link to clipboard 
Print this post

I know what you mean, but no matter what the editor interface is, it's very important that what you think is a hardware bug isn't actually a problem with the way you are using the editor because you have missed something about how it does something. Having a simple, lowest common denominator editor that everyone has removes that possibility.

Windows applications are designed to have similar user interfaces, which is why you are comfortable with MMEdit. That doesn't mean that they all work in the same way though, only that they have a similar look and feel. IIRC, MMEdit uses routines in the MMBasic editor to do file transfers etc. It simulates the keystrokes that a user would make if operating the editor directly. It's not actually changing the memory of the Pico directly as you might expect. (I'm sure someone will correct me if I've made any glaring errors in these statements! :) ).

If you are using the console connection (the USB connection) then the editor screen can easily be over 40 lines of over 100 characters if you want. You can make it a size that you are comfortable with. Editing on a ILI9341 or even a SSD1963 LCD screen is *not* recommended (although the SSD scrolls much faster)! It certainly isn't a small screen, it can be as big as your monitor. :) It's also *very* fast to use. Simply function key driven. No delays as the program is transferred. All possible commands are in a neat line across the bottom of the screen.

Tera Term will let you set the maximum size of the display (in lines & characters) as well as the font to use. This is then backed up by the OPTION DISPLAY in MMBasic.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6100
Posted: 04:24am 30 Aug 2022
Copy link to clipboard 
Print this post

I was going to keep out of this discussion but...
  Quote  As it is software it will have it's own bugs. So will the built-in editor, but that is much older and simpler than MMEdit (it's not changed a lot since the original Maximite)

MMEdit has been around for 11 years, nearly as long as MMBasic and it's editor.
MMEditV4 is fairly basic but still similar to Notepad++ in many ways. They both use the same underlying subsystem.

  Quote   IIRC, MMEdit uses routines in the MMBasic editor to do file transfers etc. It simulates the keystrokes that a user would make if operating the editor directly. It's not actually changing the memory of the Pico directly as you might expect. (I'm sure someone will correct me if I've made any glaring errors in these statements! :) ).

MMEdit ignores the builtin editor. Just like Notepad++ and any other text editor, it
lets you create your masterpiece on the PC and then you transfer it to the device using AUTOSAVE or equivalent. (Sometimes it uses XMODEM)

Where new players seem to get caught is, they imagine it is an emulator with full code checking/verification facilities.

The builtin editor is one of the main points of difference that makes MMBasic something special. It is well worth getting to know it.

Jim
VK7JH
MMedit   MMBasic Help
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 06:39am 30 Aug 2022
Copy link to clipboard 
Print this post

Thanks Jim. I hadn't realised MMEdit had such a history. Well done! :) As I've said previously, I'm not very familiar with it and I certainly wouldn't know if an error message was being generated by MMEdit or from elsewhere. I suspect that someone who was still learning to use it and was also trying to get to grips with unfamiliar hardware wouldn't either.

(I'm the one that gets "icon blind" - something that used to really annoy me when using AutoCAD as I would have to stop and think frequently, wondering which of the assorted icon collection would do what I wanted!)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6100
Posted: 07:18am 30 Aug 2022
Copy link to clipboard 
Print this post

  Mixtel90 said  
(I'm the one that gets "icon blind" - something that used to really annoy me when using AutoCAD as I would have to stop and think frequently, wondering which of the assorted icon collection would do what I wanted!)


  Quote  Keyboard shortcuts

ESCAPE Cancel current operation
Moving around:
PageDown Moves down one screen
INSERT Toggles insert and overtype
RETURN Advance to new line and insert line ending for current style
END Moves to the end of the current line
DOWN Moves down one line
UP Moves up one line
LEFT Moves left one character
RIGHT Moves right one character
HOME Moves to the start of current line
PageUp Moves up one screen
TAB Moves to the next tab stop and converts to space characters
shift+TAB Moves back to the next tab stop
ctrl+LEFT Move left one word
ctrl+RIGHT Move right one word
ctrl+UP Scroll screen up
ctrl+DOWN Scroll screen down
ctrl+HOME Move to start of document
ctrl+END Move to end of document
ctrl+[ Move up one paragraph (next blank line)
ctrl+] Move down one paragraph (next blank line)
ctrl+/ Move left part word (alternate start/finish)
ctrl+\ Move right part word (alternate start/finish)
Ctrl+G Goto Line (number or label)
Editing:
DELETE Deletes selection or character to the right
Backspace Deletes character to the left
shift+Backspace Deletes character to the left
ctrl+DELETE Delete to end of word
ctrl+Backspace Delete to start of word
ctrl+shift+DEL Delete to end of line
ctrl+shift+BS Delete to start of line
ctrl+X Cut
shift+DELETE Cut
ctrl+C Copy
ctrl+INSERT Copy
ctrl+V Paste
shift+INSERT Paste
ctrl+L Cut current line
ctrl+shift+L Delete current line
ctrl+T S wrap current line with preceding line
ctrl+shift+T Copy current line
ctrl+D Duplicate selection
ctrl+U Convert selection to lowercase
ctrl+shift+U Convert selection to uppercase
alt+Backspace Undo
ctrl+Z Undo
ctrl+Y Redo
ctrl+shift+Z Redo
Selecting text:
ctrl+A Select all
shift+LEFT Extend selection one char left
shift+RIGHT Extend selection one char right
shift+UP Extend selection one line up
shift+DOWN Extend selection one line down
shift+HOME Extend selection to start of line
shift+END Extend selection to end of line
shift+PageUp Extend selection one page up
shift+PageDown Extend selection one page down
ctrl+shift+LEFT Extend selection one word left
ctrl+shft+RIGHT Extend selection one word right
ctrl+shift+HOME Extend selection to start of document
ctrl+shift+END Extend selection to end of document
ctrl+shift+[ Extend selection one paragraph up (next blank line)
ctrl+shift+] Extend selection one paragraph down (next blank line)
ctrl+shift+/ Extend selection one part word left
ctrl+shift+\ Extend selection one part word right
Selecting text as a rectangular block:
alt+shift+LEFT Extend rectangular selection one char left
alt+shift+RIGHT Extend rectangular selection one char right
alt+shift+UP Extend rectangular selection one line up
alt+shift+DOWN Extend rectangular selection one line down
alt+shift+HOME Extend rectangular selection to start of line
alt+shift+END Extend rectangular selection to end of line
alt+shift+PgUp Extend rectangular selection one page up
alt+shift+PgDn Extend rectangular selection one page down
Finding text:
Ctrl+F Find
Ctrl+H Find
File operations:
Ctrl+O Open file
Ctrl+N New file
Ctrl+S Save
Other:
ctrl+ADD Zoom in
ctrl+SUBTRACT Zoom out
Alt+O Format code (Indent)
F1 Help


and that's just for the editor itself. There are Function keys to send to the 'mite etc.

No need for that pesky rodent.

Jim
VK7JH
MMedit   MMBasic Help
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 07:32am 30 Aug 2022
Copy link to clipboard 
Print this post

Impressive!
I'm even worse with keyboard shortcuts. F1 is good for me though. :D
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2129
Posted: 07:58pm 30 Aug 2022
Copy link to clipboard 
Print this post

  TassyJim said  
  Mixtel90 said  
(I'm the one that gets "icon blind" - something that used to really annoy me when using AutoCAD as I would have to stop and think frequently, wondering which of the assorted icon collection would do what I wanted!)


  Quote  Keyboard shortcuts

ESCAPE Cancel current operation
Moving around:
PageDown Moves down one screen
INSERT Toggles insert and overtype
RETURN Advance to new line and insert line ending for current style
END Moves to the end of the current line
DOWN Moves down one line
UP Moves up one line
LEFT Moves left one character
RIGHT Moves right one character
HOME Moves to the start of current line
PageUp Moves up one screen
TAB Moves to the next tab stop and converts to space characters
shift+TAB Moves back to the next tab stop
ctrl+LEFT Move left one word
ctrl+RIGHT Move right one word
ctrl+UP Scroll screen up
ctrl+DOWN Scroll screen down
ctrl+HOME Move to start of document
ctrl+END Move to end of document
ctrl+[ Move up one paragraph (next blank line)
ctrl+] Move down one paragraph (next blank line)
ctrl+/ Move left part word (alternate start/finish)
ctrl+\\ Move right part word (alternate start/finish)
Ctrl+G Goto Line (number or label)
Editing:
DELETE Deletes selection or character to the right
Backspace Deletes character to the left
shift+Backspace Deletes character to the left
ctrl+DELETE Delete to end of word
ctrl+Backspace Delete to start of word
ctrl+shift+DEL Delete to end of line
ctrl+shift+BS Delete to start of line
ctrl+X Cut
shift+DELETE Cut
ctrl+C Copy
ctrl+INSERT Copy
ctrl+V Paste
shift+INSERT Paste
ctrl+L Cut current line
ctrl+shift+L Delete current line
ctrl+T S wrap current line with preceding line
ctrl+shift+T Copy current line
ctrl+D Duplicate selection
ctrl+U Convert selection to lowercase
ctrl+shift+U Convert selection to uppercase
alt+Backspace Undo
ctrl+Z Undo
ctrl+Y Redo
ctrl+shift+Z Redo
Selecting text:
ctrl+A Select all
shift+LEFT Extend selection one char left
shift+RIGHT Extend selection one char right
shift+UP Extend selection one line up
shift+DOWN Extend selection one line down
shift+HOME Extend selection to start of line
shift+END Extend selection to end of line
shift+PageUp Extend selection one page up
shift+PageDown Extend selection one page down
ctrl+shift+LEFT Extend selection one word left
ctrl+shft+RIGHT Extend selection one word right
ctrl+shift+HOME Extend selection to start of document
ctrl+shift+END Extend selection to end of document
ctrl+shift+[ Extend selection one paragraph up (next blank line)
ctrl+shift+] Extend selection one paragraph down (next blank line)
ctrl+shift+/ Extend selection one part word left
ctrl+shift+\\ Extend selection one part word right
Selecting text as a rectangular block:
alt+shift+LEFT Extend rectangular selection one char left
alt+shift+RIGHT Extend rectangular selection one char right
alt+shift+UP Extend rectangular selection one line up
alt+shift+DOWN Extend rectangular selection one line down
alt+shift+HOME Extend rectangular selection to start of line
alt+shift+END Extend rectangular selection to end of line
alt+shift+PgUp Extend rectangular selection one page up
alt+shift+PgDn Extend rectangular selection one page down
Finding text:
Ctrl+F Find
Ctrl+H Find
File operations:
Ctrl+O Open file
Ctrl+N New file
Ctrl+S Save
Other:
ctrl+ADD Zoom in
ctrl+SUBTRACT Zoom out
Alt+O Format code (Indent)
F1 Help


and that's just for the editor itself. There are Function keys to send to the 'mite etc.

No need for that pesky rodent.

Jim

And we are supposed to remember all that.
I copied it. No need for that pesky rodent. HA!HA! just got it.
But I like mouse function.
All I have not sorted is make program run on power up which could be an option or I got to paste mmedit to teraterm and there is an option there to save and run on powerup.
If you want a census of which buttons are used most..

I still think the inbuilt editor is a downer compared to win mmedit.
I spent more time figuring the editor in teraterm because win 10 and putty can not identify com port.

MMedit can be a pain with it's default connect to the authors lcd or pico. wasted time and head scratching for a newbie but now via connect button I can switch between 3 pico 13,14,15 ok.

I coded this in a minute using mmedit. carp code but a nice display but does not say ssd1306 in the code, setup before.
OPTION BASE 0        ' 0 based arrays
OPTION EXPLICIT
dim v1!,v2!,c%
SETPIN GP26, AIN 'set as a-d in
do
 cls
 for c%=0 to 127
   v1!=PIN(GP26)*9:v2!=PIN(GP26)*9 'get samples
   line c%,v1!,c%+1,v2! 'join the dots
 next
loop


https://www.youtube.com/watch?v=RbPMzyEFLfw
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2129
Posted: 08:32pm 30 Aug 2022
Copy link to clipboard 
Print this post

Why has it taken until 2022 for me to find mmbasic from a youtube by explainingcomputers.com and then from there mmedit?
Is it the picomite?
"MMEdit has been around for 11 years, nearly as long as MMBasic and it's editor."
The same question when I used picaxe then found gcbasic but years ago.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 09:04pm 30 Aug 2022
Copy link to clipboard 
Print this post

Running a PicoMite program on power up is dead easy. It's in the manual. Have a look at the FLASH commands and the OPTIONs.

Tera Term is NOT an editor. It hasn't got an editor. It's a terminal program. All it does is send keystrokes and display what comes back. It's basically a piece of virtual wire.

Whether you *like* the built-in editor is immaterial. I'm not asking you to like it, just to use it while you are having problems with something else. That way we all *know* that you aren't connected to a test server or something like that. :) Just consider yourself lucky you don't have to edit using vi. ;)
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6100
Posted: 09:38pm 30 Aug 2022
Copy link to clipboard 
Print this post

Stan, what Mick is trying to tell you is, with using the MMBasic editor, you have one manual to study. Using MMEdit, you have two manuals, MMEdit and MMBasic, and the MMEdit manual is not it's finest point (although it does have the keyboard shortcuts listed, something you seem to have missed.)

The MMBasic manual is well written and deserves a read. Now that you have started to play, read the MMBasic manual starting at the beginning. You will learn a lot.

Apologies to DrifterNL, Your analogue clock is an useful demonstration of MMBasics floating point abilities as well as it's graphics.
Sorry for the diversion.

Jim
VK7JH
MMedit   MMBasic Help
 
pwillard
Senior Member

Joined: 07/06/2022
Location: United States
Posts: 292
Posted: 12:01am 31 Aug 2022
Copy link to clipboard 
Print this post

If you had a subscription to certain electronics hobbyist magazines... you likely would have become quite familiar with the MicroMite family a long time ago.

What stopped me in the past was I had no way to program firmware onto a Microchip PIC MCU.  (I still don't... but I can program firmware on a PICO so here I am.)
Edited 2022-08-31 10:03 by pwillard
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2129
Posted: 12:21am 31 Aug 2022
Copy link to clipboard 
Print this post

  TassyJim said  Stan, what Mick is trying to tell you is, with using the MMBasic editor, you have one manual to study. Using MMEdit, you have two manuals, MMEdit and MMBasic, and the MMEdit manual is not it's finest point (although it does have the keyboard shortcuts listed, something you seem to have missed.)

The MMBasic manual is well written and deserves a read. Now that you have started to play, read the MMBasic manual starting at the beginning. You will learn a lot.

Apologies to DrifterNL, Your analogue clock is an useful demonstration of MMBasics floating point abilities as well as it's graphics.
Sorry for the diversion.

Jim

mmbasic and it's inbuilt editor are 2 different entities.
mmbasic is imho easier to learn than it's inbuilt editor.
win 10 says com port as pico.
putty needs a com port number
teraterm - click serial and shows pico as usb device com 13,14,15.
this would be one way of coding
mmedit click connect and pico is com 13,14,15 and a win type editor and click running man to flash run code.
seems more familiar to the other basic I use, click a button to flash code.
I have not needed to use the "mmedit manual" it just works or am I missing something?
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2136
Posted: 05:06am 31 Aug 2022
Copy link to clipboard 
Print this post

@pwillard
"I had no way to program firmware onto a Microchip PIC MCU."

Search this forum for pic32prog.exe, all you need is an Arduino Nano and the .HEX file to load on to any PIC32 chip.
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6798
Posted: 07:13am 31 Aug 2022
Copy link to clipboard 
Print this post

Stan...
Windows has a driver that creates virtual COM ports for USB devices. When it finds an unrecognised device it gives it the next available COM port number based on the devices reported ID. It keeps a record of these and will (usually) give the same USB device the same COM port number next time it is attached.

Tera Term doesn't see USB devices, it sees the COM ports that Windows has created. When you connect a Pico it reports it's ID to Windows which then looks up its record and allocates the same COM port that it used for that Pico last time.

Some terminal programs don't do that. You have to allocate a virtual or physical COM port to a device.

The built in editor requires one Fkey press to "flash code". Is the mouse glued onto your hand? Use the other one. :)  Also, using the built-in editor, when you power up the program is already there where you left it, ready for editing. Press one Fkey and you switch from the command line to the editor.  

As for using MMEdit without bothering to read the manual....  
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2129
Posted: 04:25pm 31 Aug 2022
Copy link to clipboard 
Print this post

Can not do this with teraterm. Copy/paste seems easy ... with a rodent :)
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 05:32pm 31 Aug 2022
Copy link to clipboard 
Print this post

Copy/paste is a doodle with TeraTerm plus Notepad++ (or the text editor of your choice) plus F10/AUTOSAVE. MMEdit saves you a few keystrokes (or mouse moves and clicks if you prefer), but that just amounts to a few seconds per edit/run cycle--not enough for me to feel restricted in my programming flow.

Not saying it's "better"--just approximately equivalent and well-suited to my development style. (From someone who endured 4-hour (or more) turnarounds with punched cards, to 5-minute edit/compile/run cycles on CP/M machines, to one F-key cycles between edit and run with the MMBasic editor.)
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
     Page 2 of 3    
Print this page
© JAQ Software 2024