|
Forum Index : Microcontroller and PC projects : V6.01.00 release notes and final release candidate
| Author | Message | ||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10681 |
Below are the proposed release notes for 6.01.00 together with the last release candidate RC23. This will become the release version unless anything untoward is found. There is one change from RC22 which is to implement a sensitivity control for USB mice OPTION MOUSE SENSITIVITY f ' sets the USB mouse sensitivity, defaults to 1.0. Setting a value of 2.0 would halve the speed. This is a permanent option but will not cause a reboot and can be used in a program. Please test the release and review the notes. Let me know if there is anything obvious I have missed or anything I have broken before I start the manual update - thanks. PicoMiteV6.01.00RC23.zip New functionality ON ERROR RESTART Does what it says. Any error in a program will cause the Pico to reset and, of course, if you have OPTION AUTORUN set the program will restart cleanly TRIM$(source$ [,mask$] [,where/where$]) This function can remove characters from the beginning or end of a string or both source$ is the input string mask$ is a string containing a list of character to be removed. If omitted it defaults to space where/where$ can be L, R, or B or a string beginning with L, R, or B to specify characters should be removed from the left of the source, the right of the source or both. If omitted defaults to L PLAY ARRAY l%(), r%(), freq [,start] [,end] [,terminationinterrupt] This requires packed arrays (could be the same array for left and right) of 16 bit values in the range -32768 to 32767 and outputs the values in the array at the sample frequency specified. If the optional parameter 'start' is specified then the arrays are output from packed location 'start' If the optional 'end' is specified then the arrays are output until the packed location 'end' is reached If the optional parameter 'terminationinterrupt' is specified then the subroutine specified will execute once the last array element has been output. It is important to understand the 'freq' parameter. This is the rate at which each array element is output. So for example, if the array contained 10 cycles of a sine wave with 18000 total samples then setting the frequency to 1800 would output a 1Hz sine wave for 10 seconds. Setting the frequency to 18000 would output a 10Hz sine wave for 1 second. MM.SUPPLY For modules with a pin allocated to measure the incoming supply voltage such as the Pico and Pico2, MM.SUPPLY will return the voltage. Enhanced KEYPAD command The existing KEYPAD command supports a 4x3 or 4x4 keypad using the syntax KEYPAD var, int, r1, r2, r3, r4, c1, c2, c3 [, c4] This release supports n x m keypads using the syntax KEYPAD keymapmap!(),var!,int, startcolpin, nocols, startrowpin, norows 'startcolpin' is the pin that begins 'nocols' of contiguous GP pins used as the column scans 'startrowpin' is the pin that begins 'norows' of contiguous GP pins used as the row scans 'var!' is the variable that will contain the value returned to the interrupt routine 'int' when a key is pressed keymapmap!() is a two dimensional array that contains the user supplied mapping for every key. The array dimensions must match the number of columns and rows specified So for example if I have a keypad with 3 columns and 4 rows 123 456 789 *0# And I wire gp1 to the left column, gp1 to the middle and gp2 to the right, then the 4 rows from top to bottom to gp3 to gp6 My program could be Option base 1 Dim keymap(3,4)=(1,4,7,10, 4,5,6,0, 3,6,9,11) Keypad keymap(),keyret,myint,gp1,3,gp4,4 Do Loop Sub myint Print keyret End Sub High speed buffered display drivers The new release supports the following new display drivers ILI9341BUFF: 320 x 240 ST7796SPBUFF: 320 x 320 ST7796SBUFF: 480 x 320 ILI9488PBUFF: 320 x 320 ILI9488BUFF: 480 x 320 ILI9488WBUFF: 480 x 320 'Waveshare Pico-Restouch-lcd-3.5 ST7789_320BUFF: 320 x 240 'Waveshare Pico-Restouch-lcd-2.8 In all cases enabling one of these drivers steals a RGB332 framebuffer from the heap so in the worst case of a ILI9488BUFF heap is reduced by 150K bytes (from 300K) To use one of these drivers you first need to allocate the SPI pins to be used OPTION LCD PINS clkpin, mosipin, misopin These pins are dedicated to the display and must be separate from any pins used for the SYSTEM SPI which may still be required for touch and the sdcard (NB: in the case of the Waveshare boards using this driver will conflict with also using touch and the sdcard as they share the SPI channel) The reason for the dedicated pins is that the screen updates will all take place on the second processor and for maximum performance this cannot share the SPI channel. OPTION MOUSE SENSITIVITY f' sets the USB mouse sensitivity, defaults to 1.0. Setting a value of 2.0 would halve the speed LINPUT(array%(),fnbr,nbr) This reads nbr bytes from a file open as fnbr into the LONGSTRING array%(). The function returns the number of bytes actually read so if you are near the end of the file the number may be less than the number requested. It only works with file I/O and not serial or console I/O DEVICE(MOUSE m,B) returns the state of all the buttons on the mouse. Useful if the mouse has more than the normal three buttons. EDITOR enahncements You can now use SHIFT-F3, ctrl-G, OR F6 to get the next match If you then use SHIFT-F5, ctrl-I or F8 the system will replace the search target string with the contents of the paste buffer. you can now press SHIFT-F4, ctrl-F, or F7 and this will open a dialog allowing you to directly enter a string into the paste buffer and on pressing return, replace the search target string. Suppose you want to replace every occurrence of GP0 with GP6 then you can proceed as follows: F3 - enter GP0 'define the search target and find the first occurrence F7 - enter GP6 'define the replacement string and do the first replacement repeat until you get a not found message F6 ' find next F8 ' replace next end repeat REDIM [PRESERVE] array(dimensions) This resizes the array specified with the dimensions given. If the optional sub-command PRESERVE is specified the existing data will be copied into the new array. The new array can be bigger or smaller than the original. In the case of string arrays the original LENGTH specified is preserved. Note that for multi-dimensional arrays only the last dimension can be changed if PRESERVE is used. Changes LMID(array%(),start [,num])=string$ inserts string$ into the longstring array%() at position start replacing num existing characters. If num isn't specified then it is calculated from the length of string$. num can be 0 in which case string$ is inserted at the position specified. DEVICE(MOUSE n,W) now works for USB mice FLASH LOAD IMAGE flashno, filename$ [,O/OVERWRITE] This command loads the bmp file specified into the flash slot in RGB121 format. The flash slot should have been previously erased or specifying the optional parameter O or OVERWRITE will force an erase. Note that the first two words in the flash slot are the width of the saved image and the height of the saved image. The image need not be the same dimensions as the framebuffer. BLIT FLASH from, to, xin, yin, xout, yout, width, height [,colour] Copies an area of a specific ‘from’ flash slot to a ‘to’ framebuffer N, F, or L. ‘xin’ and ‘yin’ define the top left of the area of ‘width’ and ‘height’ on the flash slot to be copied. ‘xout’ and ‘yout’ define the top left of the area on the target framebuffer to receive the copy. The optional parameter colour defines a pixel colour in the flash slot which will not be copied. If omitted all pixels are copied. The colour is specified as a number between 0 and 15 representing: Black, Blue, Myrtle, Cobalt, Midgreen, Cerulean, green, cyan, red, magenta, rust, fuschia, brown, lilac, yellow and white TURTLE GRAPHICS This release contains a very comprehensive turtle graphics implementation for all versions except the WebMite RP2040 and WebMite RP2350. The supported commands are: Movement Commands FORWARD distance (FD) - Move forward by distance pixels BACK distance (BK) - Move backward by distance pixels LEFT [angle] (LT) - Turn left by angle degrees, 90 degrees if not specified RIGHT [angle] (RT) - Turn right by angle degrees, 90 degrees if not Position Commands SET XY x, y - Move to absolute position (x,y) SET X x - Set X coordinate, keep Y SET Y y - Set Y coordinate, keep X SET HEADING angle (SETH) - Set absolute heading (0=up, 90=right) HOME - Return to center (MM.HRES\2,MM.VRES\2) heading 0 Pen Control Commands PEN UP (PU) - Lift pen (stop drawing) PEN DOWN (PD) - Lower pen (start drawing) PEN COLOUR color (PC) - Set pen color PEN WIDTH width (PW) - Set pen line width Arc and Curve Commands ARC radius angle - Draw arc with given radius and angle ARCLEFT radius,angle (ARCL) - Draw arc turning left ARCRIGHT radius,angle (ARCR) - Draw arc turning right BEZIER cp1 , cp1angle, cp2, cp2angle, end, endangle - Draw Bezier curve with control points Basic Shape Commands CIRCLE radius - Draw circle at current position DOT size - Draw filled dot (default size=5) FCIRCLE radius - Draw filled circle FRECTANGLE width,height (FRECT) - Draw filled rectangle WEDGE radius start end - Draw filled wedge/pie slice Fill Commands FILL COLOUR color (FC) - Set fill color and enable filling FILL PATTERN pattern (FP) - Set fill pattern (0-7) NO FILL - Disable filling FILL - Flood fill at current position BEGIN FILL (BF) - Start recording polygon for fill END FILL (EF) - End recording and fill polygon Cursor Commands SHOW TURTLE (ST) - Show turtle cursor HIDE TURTLE (HT) - Hide turtle cursor CURSOR SIZE size (CS) - Set cursor size CURSOR COLOUR color (CC) - Set cursor color STAMP - Draw a turtle at the current x,y position State Management Commands RESET [show] - clear screen and reset everything, show the turtle if show = 1 PUSH - Save current position and heading to stack POP - Restore position and heading from stack The code includes the ability to fill circles,rectangles and polygons with a textured fill. Run it in mode 2 on a RP2040 VGA system or mode 3 on a RP2350 VGA or HDMI. Fill Patterns 0: Solid fill 1: Checkerboard 2: Vertical lines 3: Horizontal lines 4: Diagonal cross 5: Diagonal stripes 6: Crosshatch 7: Fine diagonal 8: Dense checkerboard 9: Diagonal right medium 10: Diagonal left medium 11: Vertical lines medium 12: Horizontal lines medium 13: Large checkerboard 14: Dotted vertical 15: Horizontal stripes tight 16: Grid 17: Weave pattern 18: Diamond 19: Gradient diagonal 20: Gradient diagonal reverse 21: Border/frame 22: Vertical split 23: Woven 24: Sparse dots 25: Diagonal very fine 26: Arrow up 27: Dense dots 28: Chevron 29: Diamond hollow 30: Circle 31: Circle filled PIO SYNC pio, statemachines, [,prevstatemachines] [,nextstatemachines] Synchronises PIO state machine clocks pio specifies the reference PIO for the command statemachines, prevstatemachines and nextstatemachines are bitmaps (1 to 15) specifying which state machines's clocks should be synced. So to specify that all of PIO0 and PIO1 state machines should be synced you could use: PIO SYNC 0,15,,15 or PIO SYNC 1,15,15 Adds support for WAIT n IRQ NEXT/PREV in the PIO assembler Adds support for IRQ NEXT/PREV in the PIO assembler AUTOSAVE N This runs autosave as normal but does not echo the data back to the console. It waits for the first character to be sent and then uses a timer that checks for greater than 100mSec between characters. If it sees this delay it switches back to normal input mode and outputs the message "Enter ctrl-Z, F1, or F2 to exit" You can then type additional characters to be saved or use one of the normal exits. FILL x, y, colour This reads the colour at position x,y in the display and then fills the area from that point where the current colour is the same. Note it will be slow on TFT displays using unbuffered drivers. The new SDD1963 buffered drivers and VGA and HDMI versions all perform well. HDMI versions OPTION RESOLUTION 1024x600 1024x600 has modes: 1: 1024x600 mono with tiles 2: 256x150 RGB121 3: 512x300 RGB121 5: 256x150 RGB332 OPTION RESOLUTION 800x480 (NB: reduces heap memory available) 800x480 has modes: 1: 800x480 mono with tiles 2: 400x240 RGB121 3: 800x480 RGB121 5: 400x240 RGB332 PICOMITE RP2350 V6.01.00 includes a new set of drivers for the PICOMITE RP2350 OPTION LCDPANEL VGA222_640/VGA222_320/VGA_720/VGA_360, hsyncpin, bluelpin This checks for availability of hysyncpin and hysyncpin+1 (vsync) bluelpin - bluelpin+5 (blue_l, blue_h, green_l, green_h, red_l, red_h assuming these are all free it sets up to run VGA222 output on the pins specified in either 640x480 (VGA222) or 320x240 (VGA222_320) To connect the data pins to the VGA connector use 390 and 820 ohm resistors from the outputs as per the green channel in the manual ( page 29) RGB222 gives a much nicer colour rendition than the RGB121 available on the VGA version. Note, there are no modes. The 640x480, 320x240, 720x400 and 360x200 are different drivers and use different amounts of memory (much more in the case of 640x480 and 720x400). To generate the VGA output The firmware uses PIO0 and PIO1 leaving PIO2 available (unless you also use the I2S audio driver. YMODEM SEND or YMODEM SEND file$ or YMODEM RECEIVE or YMODEM RECEIVE file$ or YMODEM CRUNCH This command mimics XMODEM but transfers files much faster (>10x) over a CDC serial link YMODEM is different from XMODEM in that the message carries the filename. This means that when you send a file from the Pico to a computer the receiving program will use automatically use the same name as you send. In case the file already exists the receiver will automatically increment a version number on the name of the file received. fred1.bas, fred2.bas etc. When sending from memory with YMODEM S there are two possibilities. In the case that the file was loaded from the A: or B: drives it will contain a hidden filename and this will be used. In the case of a file created through the editor or autosaved the receiving file will automatically have the name FILEn.DAT It is the responsibility of the receiving program to specify where the file will be saved. In the case of teraterm this is an option you set on the general setting screen "File transfer folder" When receiving a file on the Pico, you have complete freedom to specify the name and directory in the normal way NB: YMODEM is very sensitive to the quality of the connection and the USB implementation on the host. If it doesn't work for you continue to use XMODEM Buffered drivers for SSD1963 displays OPTION LCDPANEL controller, orientation [,backlightpin] [,DCpin] [,NORESET][,INVERT][,DB0pin] ssd1963_5_buff, ssd1963_7_buff, ssd1963_5_12buff, ssd1963_7_12buff, ssd1963_5_16buff, or ssd1963_7_16buff The drivers use 8, 12, or 16 data pins as indicated in the driver name. In all cases enabling one of these drivers steals a 400x240 RGB332 framebuffer from the heap memory. When using these drivers you can switch between the buffered driver and a conventional driver using the command MODE 800/400 This switches without rebooting between 800x480 and 400x240 modes You can use the command OPTION LCD320 ON/OFF to centre a 320x240 image on the 400x240 display. Changed functionality DE USB keyboard now returns codes 200-209 for accented keyboard characters with normal input (input$/inkey$) FILES command automatically sets the maximum number of files that can be handled based on the version of the chip (RPp2350 or RP2040) and memory used for things like video buffers. Maximum file length is changed for RP2350 to 127 bytes (63 bytes on RP2040) USB CDC performance is improved for all non USB-host versions. USB lockups significantly reduced but probably no eliminated MID$ command The length to be replaced can now be 0 i.e. insert the new string at the position specified Regular expressions in INSTR and LINSTR The regular expression engine has been replaced and upgraded. It now supports most of the standard regular expression syntax including groups BMP file processing has been completely rewritten LOAD IMAGE/BMP fname$ [,x] [,y] [,mode] [,ximage] [,yimage] Loads a BMP file from fname$ and writes it to the current output device (display or framebuffer) starting at x, y (defaults to 0,0). The optional mode parameter specifies if the output is to be dithered. Bits 0 and 1 specify the output format and bit 2 specifies the type of dithering to use. By default mode is set to -1 which indicates no dithering should be applied. DITHER_FLOYD_STEINBERG_RGB121 0 DITHER_FLOYD_STEINBERG_RGB222 1 DITHER_FLOYD_STEINBERG_RGB332 2 DITHER_ATKINSON_RGB121 4 DITHER_ATKINSON_RGB222 5 DITHER_ATKINSON_RGB332 6 ximage and yimage specify where in the image file to start writing to the display (defaults to 0,0) PIO CHANGES PIO CLEAR now also clears all IRQ flasgs for the PIO specified Adds support for auto-restart of PIO DMA TX for buffers that don't meet the requirements of a ringbuffer PIO DMA TX pio, sm, nbr,data%() [,completioninterrupt][,transfersize][,loopbackcount] nbr specified loopbackcount not specified (or 0) - standard single shot DMA nbr 0 loopbackcount specified - ringbuffer nbr and loopbackcount specified and identical - auto restart of the DMA on completion LOAD JPG file$ [, x] [, y] [,mode] [,ximage] [,yimage] Loads a JPG file from fname$ and writes it to the current output device (display or framebuffer) starting at x, y (defaults to 0,0). The optional mode parameter specifies if the output is to be dithered. Bits 0 and 1 specify the output format and bit 2 specifies the type of dithering to use. By default mode is set to -1 which indicates no dithering should be applied. DITHER_FLOYD_STEINBERG_RGB121 0 DITHER_FLOYD_STEINBERG_RGB222 1 DITHER_FLOYD_STEINBERG_RGB332 2 DITHER_ATKINSON_RGB121 4 DITHER_ATKINSON_RGB222 5 DITHER_ATKINSON_RGB332 6 ximage and yimage specify where in the image file to start writing to the display (defaults to 0,0) The map command and function are now implemented for the new buffered LCD drivers MAP(n)=RGB888value ' n=0 to 255 MAP SET MAP RESET ? MAP(n) ' n=0 to 255 DRAW3D SHOW n, x, y, z [,nocull][,usefurthest] DRAW3D WRITE n, x, y, z [,nocull][,usefurthest] New optional parameter usefurthest which specifies if depth sorting should use the centroid of a face or the furthest vertex as the parameter to be sorted. set 1 to use the furthest vertex and zero (default) to use the centroid. FRAMEBUFFER SYNC now works for background merge and background copy Bug Fixes Fixes bug in PULSE command on GP pins > 31 Fixes bugs in DEVICE SERIAL TX and DEVICE SERIAL RX including support for all pins on the RP2350B Correctly validates maximum file lengths in numerous places in the firmware Fixes bug in MAP command for some HDMI resolutions Fixes bug in changing HDMI mode causing occasional crashes Fixes memory leak when a framebuffer is created in HMDI 1280x720 mode 1 Fixes lockup in FRAMEBUFFER SYNC if a previous MERGE has not been executed. Fixes bug in STATIC variables Fixes bug in PIO PROGRAM LINE Fixes bug in MM.INFO(EXISTS FILE fname$) Fixes bug in XMODEM for RP2040 Fixes bug in reading zero length files - all versions Fixes a couple of typos in the PIO assembler Fixes a typo in reading escape sequences Fixes a bug in ADC START |
||||
| Bleep Guru Joined: 09/01/2022 Location: United KingdomPosts: 710 |
Hi Peter, Very quick install and test on a 2040 USB LCD, 2350 USB HDMI and 2350 USB LCD, all working as expected, running a taxing demo program and your Elite 3D ships demo, I have not been able to test further. Thanks for the reminder of everything that has changed. :-) Regards, Kevin. Edited 2025-12-07 03:44 by Bleep |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5515 |
Peter, I am not sure about this build for the RP2040 microcontroller release. When I clean install this ,the A: drive is size 724992 bytes. In previous rc's and beta 20 this was 675840. Is this expected ? I checked the majority of the Game*Mite on games on GM 2040 and GM 2350, and they all run. So we have 50k more flash drive on 2040. Thanks. Checked RP2040 VGA (not completely done yet) but green light up to now. Can only finish Monday (need to get stuff from work to finish the tests). Volhout Edited 2025-12-07 07:51 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8358 |
Wow... Are you sure you didn't re-write it, Peter? :) That's an impressive changes list by any standards. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5515 |
Question Do the buffered lcd drivers also work for rp2040? For 9341 lcd at cost of 76kbyte RAM Volhout PicomiteVGA PETSCII ROBOTS |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10681 |
No: RP2350 only Yes: you were worried about a: drive space so I found you some |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5515 |
![]() Tested : PS2 keyboard, NES controller, WII classic, WII Nunchuck on 2040 VGA. All ok. In games VGA and LCD on 2040: Tested : PWM sound (PLAY SOUND/PLAY TONE/PLAY WAV/PLAY FLAC/PLAY MOD). All ok. Tested : MODE 1, tiles, MODE 2, FRAMEBUFFER F,N,L. All ok. Made 2 small mods to your last badapple.bas so it could run on a 2040 (no audio on A:/ drive since there is no PSRAM to hold audio file). Runs smooth, but slower. Volhout Edited 2025-12-07 19:40 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
| IanT Senior Member Joined: 29/11/2016 Location: United KingdomPosts: 120 |
I'm convinced that Peter's real technical breakthrough was when he discovered how to clone himself. How many 'Peters' are there really working on this? I think my Grandchildren will enjoy exploring the turtle graphics Peter - thank you Regards, IanT |
||||
| ville56 Guru Joined: 08/06/2022 Location: AustriaPosts: 305 |
The issue with wireless mice is still there. It has changed a bit with the mouse sensitivity option but the mouse movements in the editor are still weird. If I set sesitivity to 30 with the Logitech MK320, the mouse cursor movements are more limited but there is not even an average direction recognisable when moving from e.g. bottom left to top right. Just weird jumping around in a more limited space... With a small test program reporting the x/y coordinates it can be seen that the reports are incosistent, interspersed with 0 or other implausible values. So something seems to be wrong there. Hama mice still do not show any action in editor mode but with the same test program just reporting changed coordinates it shows 2 or 3 reports after reboot but then stops reporting at all. Cablebound USB mouse (good ole ThinkPad) do operate without a hitch though. btw, had to nuke the pico before running RC23 correctly. Upgrading from RC22 it would not show any mouse in editor mode even though a test program reported mouse movements. This is for wireless at least, didn't use cable mouse for first test. Gerald 73 de OE1HGA, Gerald |
||||
| Amnesie Guru Joined: 30/06/2020 Location: GermanyPosts: 727 |
Hi Peter, I have to report a bug: I've tested some of my programs and all my programs which make use of CHAIN are now broken (for example my GUI Editor, the diary/journal program etc.): ERROR: x is not declared (PicoMiteV6.01.00RC23.zip) With the version before you introduced the new "Regular expressions" in INSTR and LINSTR everything worked fine. So I didn't tested any of the "newer" RCs and jumped right to this latest RC23 (therefore I can't say when this problem is introduced). Greetings Daniel Edited 2025-12-07 23:04 by Amnesie |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10681 |
What version VGA/HDMI? which processor? With or without PSRAM? Edited 2025-12-07 23:16 by matherp |
||||
| Amnesie Guru Joined: 30/06/2020 Location: GermanyPosts: 727 |
Ah Sorry Peter, forget to mention that! Here are some more infos: Tested version with the problem: RC23 Settings, no PSRAM: ![]() Here is a really simple test program: MAIN program: MODE 3 'Colour selection & mapping Dim c1(15)=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) 'PicoMiteVGA colour palette Colour Map c1(),c1() 'new custom palette Map(0)=RGB(20,12,28) 'very_dark_violet Map(1)=RGB(58,46,52) 'red_earth Map(2)=RGB(48,52,109) 'deep_blue Map(3)=RGB(38,44,48) 'shadowy_lavender Map(4)=RGB(153,156,148) 'root_beer Map(5)=RGB(52,101,36) 'hunter_green Map(6)=RGB(208,70,72) 'faded_red Map(7)=RGB(117,113,97) 'flint Map(8)=RGB(189,25,50) 'deep red Map(9)=RGB(210,125,44) 'bronze Map(10)=RGB(133,149,161) 'regent_grey Map(11)=RGB(249,170,44) 'leaf Map(12)=RGB(210,170,153) 'skin Map(13)=RGB(109,194,202) 'cadet_blue Map(14)=RGB(168,152,94) 'banana Map(15)=RGB(222,238,214) 'ivory Map Set 'this sets the custom colour map Chain "nextprog" chained program: 'nextprog CLS fgc=c1(11) Error: c1 is not declared Greetings Daniel Edited 2025-12-07 23:33 by Amnesie |
||||
| Amnesie Guru Joined: 30/06/2020 Location: GermanyPosts: 727 |
Hi Peter, just as an hint, I was using RC11 and there everything works perfect - maybe this helps to track it down? Greetings Daniel |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10681 |
Daniel I know the change that caused it but at the moment I can't see why and it is a change I need to keep. I'll keep working on it. |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10681 |
V6.01.00RC24 PicoMiteV6.01.00RC24.zip Well RC23 didn't last long as the final version. RC24 fixes a bug in LOAD/SAVE CONTEXT and CHAIN In addition I have made the new mouse functionality optional By default after OPTION RESET, OPTION MOUSE SENSITIVITY will now set to 0. In which case the mouse is left in boot mode and the wheel won't work other than as a switch. If OPTION MOUSE SENSITIVITY is set to anything else then the mouse is switched into report mode and the firmware tries to identify from the report descriptor how to decode the mouse report. It appears, like gamepads, that there isn't enough information in the report descriptor to decode the reports for some mice and therefore the firmware can't correctly decode the report. In this case the mouse will only be usable in boot mode and you should set OPTION MOUSE SENSITIVITY back to zero. For mice that "behave" OPTION MOUSE SENSITIVITY, when non-zero, sets the divider for the mouse position report to allow you to control the sensititvity and read the wheel position and any extra buttons. |
||||
| Amnesie Guru Joined: 30/06/2020 Location: GermanyPosts: 727 |
Hi Peter, the problem with Error: ... not declared when CHAIN(ing) does still persists. I nuked the flash of the pico, to be sure, tried two times - no success. Greetings Daniel Edited 2025-12-08 03:09 by Amnesie |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10681 |
Bizarre - try again PicoMiteV6.01.00RC24.zip |
||||
| Amnesie Guru Joined: 30/06/2020 Location: GermanyPosts: 727 |
HA! Now it is working, thank you! Now I'm testing a bit more... I have a lot of programs. I will report. Greetings Daniel Edited 2025-12-08 03:51 by Amnesie |
||||
| Amnesie Guru Joined: 30/06/2020 Location: GermanyPosts: 727 |
I have found another problem (bug?): On the HDMI ps2 version, no problems with mouse, but on the HDMI usb version NONE of my mices work. (all RP2350A) Mices used: - Asus GABKHBA58098 (usb only) - Cherry M5400 (supports usb & ps2) - Microsoft IntelliMouse (supports usb & ps2) all of those mices work in the HDMI RP2350A usb edition of the firmware in the version RC11. So I think there must be either a change in the command or a bug. If I connect all those mices it is recognized by the firmware, but the mouse does not appear in all my programs and also not in the editor. In short: None of my mices work in RC24, but in RC11 they do (HDMI usb-version) IMPORTANT EDIT: I tried it with: OPTION MOUSE SENSITIVITY 1 then the firmware reboots and mouse works, switching back to SENSITIVITY 0 mouse doesn't work at all (don't even appear) - is this normal? ![]() Greetings Daniel Edited 2025-12-08 04:45 by Amnesie |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10681 |
Sorry, silly typo when sensitivity is set to 0. PicoMiteV6.01.00RC24.zip If your mouse works properly with sensitivity set to something other than zero then use it as you will get wheel functionality |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |