|
Forum Index : Microcontroller and PC projects : PicoMite V6.01.00 release candidates
| Author | Message | ||||
| JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4100 |
Bear in mind we're doing something very unusual. That's a default with some distros but please refer to the above. The name has stayed the same for compatibility reasons. Using a group is a way to prevent naughty access to hardware and to allow it in a controlled way to programs/users where that's wanted. A matter of opinion, I'd say. I like screen; you may not (if you used it). It works for plenty of people, some problem at your end with the out of date box I suppose. BTW, Windows has its own set of issues with this stuff and resorting to the likes of Zadig is often needed. It's not even installed by default in my experience! John Edited 2025-10-27 07:03 by JohnS |
||||
| EDNEDN Senior Member Joined: 18/02/2023 Location: United StatesPosts: 229 |
@matherp The published RC8 code does not build with the modified Pico-SDK. There is a definition for gpio_get_out_level_all64(void) in External.h that is identical to what the updated Gpio.c file for the Pico-SDK provides. I suspect this was done so Gpio.c doesn't need to be replaced in the Pico-SDK. But I'm unsure of that. It causes GCC to barf. I just commented out the External.h definition for now. It shouldn't matter where the definition comes from. But there shouldn't be two of them: void ExtSet(int pin, int val); int64_t ExtInp(int pin); /* static inline uint64_t gpio_get_out_level_all64(void) { #if NUM_BANK0_GPIOS <= 32 return sio_hw->gpio_out; #else return sio_hw->gpio_out | (((uint64_t)sio_hw->gpio_hi_out) << 32u); #endif } */ /* ============================================================================ * Function declarations - Pin manipulation * ============================================================================ */ Edited 2025-10-27 10:33 by EDNEDN |
||||
| EDNEDN Senior Member Joined: 18/02/2023 Location: United StatesPosts: 229 |
The problem still exists. I'll code around it. |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10533 |
You need to revert gpio.h back to the original supplied with the sdk. Note that I had updated the readme and removed gpio.h from the archive Edited 2025-10-27 18:30 by matherp |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10533 |
You just can't trust claude to think things through properly Try this version for RP2040 VGA PicoMite.zip This now has the same format as load dithered LOAD JPG file$ [, x] [, y] [,mode] [,ximage] [,yimage] x, y: position to start drawing on the screen (defaults to zero) Mode Options: Mode -1: No dithering (processes image as-is, default) Mode 0: Floyd-Steinberg RGB121 Mode 1: Floyd-Steinberg RGB332 Mode 2: Atkinson RGB121 Mode 3: Atkinson RGB332 ximage,yimage: position in the image to use to draw. For example if the image is 480x320 and the display is 320x240 then setting ximage to 80 and yimage to 40 would display the central portion of the image |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5398 |
Hi Peter, Claude simply needs your supervision to get to great results.... ![]() JPG dithering works fine now. The speed degradation also seems gone (to the same level as RC7). Regards, Volhout P.S. the "LOAD DITHERED" is already compatible with "LOAD IMAGE", so it could be removed as a separate command. Just add the extra parameters to LOAD IMAGE. Edited 2025-10-27 20:26 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
| twofingers Guru Joined: 02/06/2014 Location: GermanyPosts: 1646 |
An observation regarding PicoMiteHDMI MMBasic USB RP2350A Edition V6.01.00b5: "Play MP3 FileName$" crashes (requiring a reset) if a function is called simultaneously with playback without appropriate pauses. In my case, it was "inputE$()" from the latest FM. This is not a request for a bug fix; it's just for informational purposes. Inserting a short PAUSE resolves this issue. Regards Michael causality ≠ correlation ≠ coincidence |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10533 |
Volhout Please try this - performance should be better again but looks for any oddities PicoMite.zip |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5398 |
Hi Peter, Even better than RC7, not yet b20, but close enough. In case this also satisfies the guys with USB problems, freeze it here. For 2040 this is as good as it gets. P.S. I did not test everything yet, but the most critical programs from the past do all work. Volhout PicomiteVGA PETSCII ROBOTS |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5398 |
Peter, This last version is not 100% robust. I have not found the receipt yet to reproduce, but I have seen 4 occasions now where the unit "locked up" (*). Once when opening the editor, twice when starting a program, and once when MMedit/MMCC finished transferring a file (this was MMedit 533 that does not support AUTOSAVE N yet. Later with MMedit 535 that supports AUTOSAVE N it did not occur (yet). Volhout (*) Both console and PS2 keyboard could not revive the unit. But I know that one of the lockups occurred after I closed the terminal program on the PC while the program was running. And then after few seconds the lockup occurred. I did not unplug the USB, only close the PC terminal program. It sounds like data left in a USB buffer that has not end point anymore, but that does not match with the editor opening a program, and locks up after the first line is printed on screen. That does not use the USB console in that particular moment in time. EDIT: no, it does.. you can also edit in the console.!! . Edited 2025-10-28 00:07 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10533 |
Try this version. I've made some more changes and certainly in W11 it survices the terminal being closed when running a tight output loop Do Print "hello",i Inc i Pause 20 Loop PicoMiteRP2040VGAV6.01.00RC9.zip |
||||
| EDNEDN Senior Member Joined: 18/02/2023 Location: United StatesPosts: 229 |
My suggestion is this declaration is removed from the PicoMite archive copy of gpio.c: static inline void gpio_acknowledge_irq(uint gpio, uint32_t event_mask) { check_gpio_param(gpio); io_bank0_hw->intr[gpio / 8] = event_mask << (4 * (gpio % 8)); } It is conflicting with the Pico-SDK's (unaltered) gpio.h file's similar declaration for gpio_acknowledge_irq(). . Edited 2025-10-28 01:03 by EDNEDN |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10533 |
The gpio.c version was out-of-date. Now fixed |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5398 |
@Peter, Above RC9, found the method to reproduce. Uses RP2040 VGA with PS2 keyboard attached. - Install MMedit535 (geoff's website) 2025-10-21_195308_minifm_RC2.zip Upload a program (I used this miniFM version) from MMedit to the pico (uses MMCC in AUTOSAVE N mode). After the program has started on pico, close MMCC on the PC. On the PS2 keyboard, press <CTRL>C, the F2 (start the miniFM again). You see part of screen build up, but it is halted...waiting... In case you start any terminal program on the PC (i.e. putty/picocom) the miniFM continues. And it is fully functional from both PS2 and console. Regards, Volhout P.S. I am not sure if this relates to MMedit 535, but it is the only one you can download now from Geoff's website. I first noticed it with MMedit 533. But it is essential that the program is uploaded. Until you repower the pico, this can be reproduced over and over. After a power cycle the relation between USB console and restarting is with control C and F2 disappears. P.P.S. you need a program that outputs something to console. And miniFM outputs lots of data to console. Edited 2025-10-28 01:40 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5398 |
@Peter, It is something MMCC related. I tried AUTOSAVE and AUTOSAVE N using Putty, and then the problem does not show. Only when using MMCC this happens. Maybe MMCC closes the screen, but not the underlaying USB endpoint. So pico keeps sending until the endpoint buffer in the PC is full. And then stops. Once any client opens the endpoint again, data can flow. We have to talk to Jim about this. Maybe this is "good old Linux"..? Volhout Edited 2025-10-28 01:54 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10533 |
You can try this. If it doesn't work at all then MMCC isn't setting DTR PicoMite.zip |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5398 |
3:54 version behaves the same. I can upload through MMCC, run the program. After MMCC close, control-C and F2 begin, but halt until I open any terminal program on PC on USB com port.. Volhout PicomiteVGA PETSCII ROBOTS |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10533 |
What happens if you close mmedit as well? The new code checks for the usb_cdc connection being live AND DTR asserted and ignores sending to the USB port if either are missing. This works on teraterm/W11 and you have confirmed also putty/linux so it sounds like a mmcc issue Edited 2025-10-28 02:14 by matherp |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10533 |
V6.01.00RC9 PicoMiteV6.01.00RC9.zip Minor extra protections of USB write + some performance improvement for all version LOAD JPG file$ [, x] [, y] [,mode] [,ximage] [,yimage] x, y: position to start drawing on the screen (defaults to zero) Mode Options: Mode -1: No dithering (processes image as-is, default) Mode 0: Floyd-Steinberg RGB121 Mode 1: Floyd-Steinberg RGB332 Mode 2: Atkinson RGB121 Mode 3: Atkinson RGB332 ximage,yimage: position in the image to use to draw. For example if the image is 480x320 and the display is 320x240 then setting ximage to 80 and yimage to 40 would display the central portion of the image |
||||
| stanleyella Guru Joined: 25/06/2022 Location: United KingdomPosts: 2667 |
following this thread but don't want to break anything. this works for me . mmcc V5.2.9 option list PicoMiteHDMI MMBasic USB RP2350A Edition V6.01.00b11 OPTION SERIAL CONSOLE COM2,GP20,GP21 OPTION AUTORUN ON OPTION FLASH SIZE 4194304 OPTION COLOURCODE ON OPTION KEYBOARD UK, 0, 0, 600, 150 OPTION RESOLUTION 640x480 @ 315000KHz OPTION DISPLAY 30, 53 OPTION SDCARD GP2, GP6, GP7, GP4 OPTION AUDIO GP0,GP1', ON PWM CHANNEL 0 OPTION DEFAULT FONT 3, 1 > 1 GP0 Boot Reserved : AUDIO L 2 GP1 Boot Reserved : AUDIO R 4 GP2 Boot Reserved : SD CS 5 GP3 OFF 6 GP4 Boot Reserved : SPI SYSTEM MISO 7 GP5 OFF 9 GP6 Boot Reserved : SPI SYSTEM CLK 10 GP7 Boot Reserved : SPI SYSTEM MOSI 11 GP8 OFF 12 GP9 OFF 14 GP10 OFF 15 GP11 OFF 16 GP12 Boot Reserved : HDMI 17 GP13 Boot Reserved : HDMI 19 GP14 Boot Reserved : HDMI 20 GP15 Boot Reserved : HDMI 21 GP16 Boot Reserved : HDMI 22 GP17 Boot Reserved : HDMI 24 GP18 Boot Reserved : HDMI 25 GP19 Boot Reserved : HDMI 26 GP20 Boot Reserved : CONSOLE TX 27 GP21 Boot Reserved : CONSOLE RX 29 GP22 OFF 41 GP23 DOUT 42 GP24 DIN 43 GP25 HEARTBEAT 31 GP26 OFF 32 GP27 OFF 34 GP28 OFF |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |