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/PicoMiteVGA V5.07.05 release candidates
Page 1 of 9 | |||||
Author | Message | ||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9229 |
V5.07.05RC1 https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip OPTION LIST now shows version number and which firmware Fixes issue where connecting a USB CDC cable would cause the VGA version to Hardfault |
||||
phil99 Guru Joined: 11/02/2018 Location: AustraliaPosts: 2167 |
Thanks very much for the enhancements. VGA version does indeed return with everything intact after a Windows power off and reboot while USB is connected. |
||||
disco4now Guru Joined: 18/12/2014 Location: AustraliaPosts: 913 |
I think the PicoCFunctions.h is missing the update for uSec(a) macro. Should be (unsigned long long) The PicoCFunctions.h file on github is an old one so has not been uploaded for a while. //#define uSec(a) ((void (*)(unsigned int )) Vector_uSec) (a) #define uSec(a) ((void (*)(unsigned long long )) Vector_uSec) (a) Latest F4 Latest H7 |
||||
led-bloon Senior Member Joined: 21/12/2014 Location: AustraliaPosts: 205 |
@matherp While you are there: I believe you are now using v1.4 of the pico-sdk. Your (additional modified) sdk spi.h no longer exists but still referenced. Perhaps a reference to the version of gcc you are using. and: PicoMite-VGA-Edition has early version reference PicoMiteVGA V5.07.05b8 led Edited 2022-09-21 16:48 by led-bloon Miss you George |
||||
andreas Senior Member Joined: 07/12/2020 Location: GermanyPosts: 218 |
Works well on the other side of mother earth I like the 80 x 40 char resolution within EDIT -andreas |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9229 |
V5.07.05RC2 https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip MM.INFO(PINNO n) now accepts a string literal, a string variable or an unquoted GPn designation Edited 2022-09-24 19:56 by matherp |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4058 |
Hello Peter, A few more bugs for the pot: 1. MM.INFO(PINNO ...) is now broken - worked prior to RC2: PicoMiteVGA MMBasic Version 5.07.05RC2 Copyright 2011-2022 Geoff Graham Copyright 2016-2022 Peter Mather > list "mminfo_error.bas" Option Default None Option Explicit On Print MM.Info(PinNo GP28) > run "mminfo_error.bas" [3] Print MM.Info(PinNo GP28) Error : GP28 is not declared 2. Error message contains wrong/invalid "pipe" character: PicoMiteVGA MMBasic Version 5.07.05RC2 Copyright 2011-2022 Geoff Graham Copyright 2016-2022 Peter Mather > Pulse Gp2, 100 Error : Pin | is not an output 3. Do you mean for the default to be OPTION KEYBOARD US ... I don't mind, it's just not what I was expecting . Best wishes, Tom Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9229 |
V5.07.05RC3 https://geoffg.net/Downloads/picomite/PicoMite_Beta.zip Improved error messaging for incorrect pin usage. Fixed MM.INFO(pinno when OPTION EXPLICIT specified. Geoff asked for the keyboard default as both the antipodeans and US use it Edited 2022-09-25 03:04 by matherp |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4315 |
Dear Peter, I am sure this is not the opportune moment to ask, but how difficult is it to add JPG save and load to SD card, alternative to BMP ? Is it RAM memory ? The 24bit BMP files are huge, and especially if you are using only 8 or 16 colors the JPG's should be significantly smaller. Volhout PicomiteVGA PETSCII ROBOTS |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9229 |
Non-starter. The library I'm using is decode only |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4058 |
I'm not sure how large the JPEG compression and decompression algorithms are but I suspect they are non-trivial and the room they would take up in the firmware could be better spent on something more generally useful. This sounds like a definite candidate for a CSUB and not firmware. YMMV. Best wishes, Tom Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 4315 |
Hi Tom, I just realize when I made a coding error, and saved 1 BMP per 3 seconds for hours until I realized my coding error. Then I wanted to delete the files from the SD card, and was unable to use wildcards in the KILL command, such as KILL "*.BMP". Maybe not implemented, or there where so many files on the card the pico could not cope with it. Had to take the card out to delete the sea of BMP.... Anyway, testing code again and will check if I get a image save now every 4 hours... Edited 2022-09-25 05:35 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4058 |
Thankyou Peter, that works. I didn't know that about our Antipodean cousins and their keyboards Could you take a look at this issue using TEXT and CHR$(255) for me please: Also an observation that I'm not sure what to make of, but might lead you to identifying a bug, try this on the CMM2, PicoMiteVGA (use Mode 2, not Mode 7) and MMB4W: Mode 7:For i=1 To 10:Text i*Mm.Info(FontWidth),"A","CT",1,1:Next - For the CMM2 and PicoMiteVGA the characters start at the 2nd horizontal pixel position and each overlaps the previous by 1-pixel. - For MMB4W the characters start at the 3rd/4th horizontal pixel position and do not overlap. Best wishes, Tom Edited 2022-09-25 22:42 by thwill Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9229 |
This is the code for the text issue - something Geoff has put in the MM+ and I've just copied while(*str) { if(*str == 0xff) { // fc = rgb(0, 0, 255); // this is specially for GUI FORMATBOX str++; GUIPrintChar(fnt, bc, fc, *str++, jo); } else GUIPrintChar(fnt, fc, bc, *str++, jo); } Mode 7:For i=1 To 10:Text i*Mm.Info(FontWidth),"A","CT",1,1:Next This is missing the Y coordinate Edited 2022-09-25 23:01 by matherp |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4058 |
Right, so there is a "hack" for character 255 in the 'mite code which is why it doesn't behave - I don't suppose @Geoff will notice and comment. Looking at the MMB4W code that hack does not exist there (Draw.cpp#748-749) which is why it worked when I originally developed the code in question (on MMB4W). Transcription error, what I meant was: Mode 7:For i=1 To 10:Text i*Mm.Info(FontWidth),100,"A","CT",1,1:Next Best wishes, Tom Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9229 |
The issue is that you are outputting in a different font than is used by MM.INFO(FONTWIDTH) Remember MMbasic parses the code left to right so it gets the fontwidth before you specify the font in the TEXT command. To do what you want use the font command before the for statement The exact result will depend on the relationship of the width of the original font and the one specified in the text command I've emailed Geoff to ask about the other issue. There is a hole in the code as-is because if 255 is the last char then the code can loop past the end of the string Edited 2022-09-25 23:44 by matherp |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4058 |
Right, stupid of me. There is no way to get the width of a font without first issuing a FONT command is there ? - don't add one if there isn't, I'd only ask for it on evey MMBasic flavour. Good point. Note that after having done some googling you could, and perhaps should argue that character 255 is the "non-breaking space" character and shouldn't have had a glyph assigned to it by the MMBasic font in the first place. Best wishes, Tom Edited 2022-09-25 23:49 by thwill Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9229 |
width of font n ? peek(byte mm.info(font address n)) height of font n ? peek(byte mm.info(font address n)+1) |
||||
thwill Guru Joined: 16/09/2019 Location: United KingdomPosts: 4058 |
Right, thanks. One more follow-up, isn't FONT 1 the default font for MODE 7 (MMB4W and CMM2) and MODE 2 (PicoMiteVGA), in which case wasn't I accidentally using the correct width (8) for the font used by the TEXT command ? Best wishes, Tom Edited 2022-09-26 00:09 by thwill Game*Mite, CMM2 Welcome Tape, Creaky old text adventures |
||||
matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 9229 |
The default font after switching to mode 2 in a program is 7 (8x6). HOWEVER when you go back to the command line the system automatically defaults to the "default font" as set by OPTION DEFAULT MODE (1 or 7) unless overridden by OPTION LCDPANEL CONSOLE font. So, if you go "MODE 2:?MM.FONTHEIGHT" you will get 8. However, if you do this as two lines you will get whatever has been set in the the most recent of OPTION DEFAULT MODE or OPTION LCDPANEL command The idea of this is so you can set the font for the command prompt and either operate with a small font in mode 2 if you wish (gives colour editing), or use a bigger font as the default in mode 1 to help with accessibility issues OPTION DEFAULT MODE 2 ' defaults command line font to 7 OPTION LCDPANEL CONSOLE 8 'make it really small (6x4) OPTION COLOURCODE ON Mode 2, font 8, 80 chars wide I know this is somewhat odd/difficult but it is what it is Missing from the VGA manual OPTION DEFAULT MODE n (NB permanent option) N can be 1 or 2. This sets the default display mode on boot. Setting the mode to 1 will give a 640x480 monochrome display and the default font will be set to 1 (12x8). Setting n to 2 will give a 320x240 colour display and the default font will be set to 7 (8x6) OPTION LCDPANEL CONSOLE [ fnt] [, foreground] [, background] (NB permanent option) Turns on console output to the VGA screen and optionally set the default font and the foreground and background colours OPTION LCDPANEL NOCONSOLE (NB tick in manual should be in square brackets) If used in a program this is a temporary option (useful for debugging with a USB/serial console) and disables PRINT output to the VGA display. Graphics commands will continue to work. If used at the command prompt this option is permanent, both print output and console output will be disabled and only graphics commands will output to the VGA screen Edited 2022-09-26 01:38 by matherp |
||||
Page 1 of 9 |
Print this page |