|
Forum Index : Microcontroller and PC projects : PicoMite User Manual V6.01.00 Updates
| Page 1 of 2 |
|||||
| Author | Message | ||||
| Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3320 |
I decided to start this topic for any PicoMite User Manual V6.01.00 updates to avoid cluttering the main firmware topic. If you find anything wrong with the manual, please post it here. I might not acknowledge every post but I will collect all suggestions and from time to time release a new revision in this topic. The manual was checked and rechecked so there should be little wrong with it, but then that is probably just hopeful thinking. Geoff Geoff Graham - http://geoffg.net |
||||
| twofingers Guru Joined: 02/06/2014 Location: GermanyPosts: 1704 |
Hi Geoff, thanks for your great work! Can you confirm that the "PicoCFunctions.h" (V1.5, #define BaseAddress 1000030C) in the C Routines folder is up to date and works with this MMBasic version? I'm asking because I have version v2.0.1, which seems more "modern" to me. I think CSUBs are being neglected and have been somewhat forgotten. If there are any further updates to the manual, I would appreciate it if the size of the buffer required/expected by the Play MP3, WAV, and FLAC commands were also specified. For example, 30 KB heap is needed. Kind regards Michael causality ≠ correlation ≠ coincidence |
||||
| Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3320 |
Peter, I believe that this is one for you. Geoff Geoff Graham - http://geoffg.net |
||||
| disco4now Guru Joined: 18/12/2014 Location: AustraliaPosts: 1075 |
This is an up to date PicoCFunctions.h that covers both PICO and PICO2 v2.0.2 Calltable address now 0x1000023C for RP2350 v6.01.00 Release PicoCFunctions.zip F4 H7FotSF4xGT |
||||
| phil99 Guru Joined: 11/02/2018 Location: AustraliaPosts: 2876 |
This could at least be updated to "the MISO pin must not be directly connected." Or a more complete description Edited 2025-12-17 21:48 by phil99 |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10720 |
Geoff. The PicoCFunctions.h above from Gerry (disco4now) should replace the one currently in the download Edited 2025-12-17 23:06 by matherp |
||||
| Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3320 |
OK. The download has been updated. Geoff Geoff Graham - http://geoffg.net |
||||
| twofingers Guru Joined: 02/06/2014 Location: GermanyPosts: 1704 |
Hi Geoff, I'm wondering if it would be useful to include the working command "MM.INFO(CALLTABLE)", which displays the BaseAddress, in the manual. Are there any reasons not to do so? > ? hex$(MM.INFO(CALLTABLE)) 1000023C Kind regards Michael Additionally, it would be helpful, in my opinion, to mention the respective compiler command line for the different hardware (RP2040, 2350), e.g. for Pico2, bin\arm-none-eabi-gcc -c -mcpu=cortex-m33 -mfloat-abi=hard -mthumb -Wall -Wno-main -ffunction-sections -O3 -fPIC -I. %1.c -o %1.o or something similar. This could also be done in a separate CSub-PDF. My goal is to lower the barriers to writing CSubs. As we have seen here, this can lead to amazing results. I'm sorry if I'm causing any more work ... Breakdown of the Compiler Flags: arm-none-eabi-gcc: The compiler driver. it coordinates the preprocessor, the actual compiler, and the assembler. -c: Compile only. This generates an object file without performing the linking stage. -mcpu=cortex-m33: Defines the target architecture. The Cortex-M33 is the core of the RP2350 (Pico 2). -mfloat-abi=hard: Enables the hardware floating-point unit (FPU) of the chip for calculations. -mthumb: Generates code using the compact Thumb instruction set. -O3: Optimization Level 3. The compiler attempts to make the code as fast as possible. -fPIC: Position Independent Code. This is essential for CSubs because they are loaded into MMBasic RAM at varying memory addresses. -I.: Adds the current directory (.) to the search path for header files like your PicoCFunctions.h. Why this is important: For MMBasic users, this command is often contained within a Batch file (.bat on Windows). The variable %1 acts as a placeholder for your C program's filename. Note: If you were compiling for the older RP2040 (Pico 1), the flags would be -mcpu=cortex-m0plus and -mfloat-abi=soft (as the M0+ lacks a hardware FPU). (Source: GEMINI-KI) Edited 2025-12-18 13:57 by twofingers causality ≠ correlation ≠ coincidence |
||||
| toml_12953 Guru Joined: 13/02/2015 Location: United StatesPosts: 504 |
The TAB function doesn't work the way the manual states. TAB(n) seems to output n spaces no matter what column the print starts in. The manual (page 200) says it will only output spaces until column n is reached. TAB as described in the manual would make it much easier to get tabulated output neatly aligned. |
||||
| Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3320 |
Thanks, somehow it went missing. I will add it in. I'm not sure about the rest of your suggestion. Writing CSubs is a complex subject and not of interest to the typical user. So, it needs a separate and comprehensive manual/tutorial. This is a big subject which will require someone with a deep knowledge of the subject to write (any volunteers?). Geoff Geoff Graham - http://geoffg.net |
||||
| Geoffg Guru Joined: 06/06/2011 Location: AustraliaPosts: 3320 |
This sounds like a bug. Peter? Geoff Geoff Graham - http://geoffg.net |
||||
| Turbo46 Guru Joined: 24/12/2017 Location: AustraliaPosts: 1649 |
CSUBs To quote Sgt. Shultz "I know nothing". But after having success with Claude writing the code for a Micromite CFunction I thought I would ask Claude if it could write a document about writing CSUBs for MMBasic on the Picomite. Writing_CSUBs_for_MMBasic_PicoMite.zip And here it is. Maybe it will be useful for someone in the know as a starting point at least. Bill Keep safe. Live long and prosper. |
||||
| BarryH Newbie Joined: 05/01/2025 Location: AustraliaPosts: 25 |
page 174 - SUB ... END SUB 2 paragraphs are duplicated "Arguments in the callers list..." "Arrays are passed by..." BarryH |
||||
| twofingers Guru Joined: 02/06/2014 Location: GermanyPosts: 1704 |
@Bill, I really like the CSub manual - it's exactly what I had in mind, thanks! But it should be proofread critically again, perhaps by Peter? I would also add a few simple examples. I could also do the layout, if desired. @Geoff I completely agree with you, but times are changing - ¡Los tiempos cambian! With AI, anyone can now write (or have written) C programs in natural language. AI even makes cryptic compiler error messages understandable and gives tips on how to fix the errors. (BTW, I'm not an uncritical fan of AI; I see the downsides. )Kind regards Michael Edited 2025-12-18 21:38 by twofingers causality ≠ correlation ≠ coincidence |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10720 |
The script referenced in the document is missing significant capabilities for other than a single function csub. The basic program to do it comprehensively is on github . I've raised an issue on the script authors github as it would be a great tool if he could expand it. " Writing CSubs is a complex subject" I agree and other than for a simple function I think it is unlikely an AI could write one at the moment. The other big issue with CSUBs is that testing is very difficult. Other than compilation errors it is pretty much go/no-go testing with many bugs just causing a crash with no diagnostic. |
||||
| twofingers Guru Joined: 02/06/2014 Location: GermanyPosts: 1704 |
Would you bet on that? Regards Michael causality ≠ correlation ≠ coincidence |
||||
| phil99 Guru Joined: 11/02/2018 Location: AustraliaPosts: 2876 |
Ville56 has found (in the Pico Radar thread) that when OPTION GUI CONTROLS is set it appears a touch ISR can't be enabled for ordinary touch functions. Not entirely certain if this requires a mention in the manual or an adjustment to the firmware. Edited 2025-12-19 07:58 by phil99 |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5542 |
Geoff, It may be just me, but I find the command list (in several places) is corrupted. Maybe you could confirm this is also shown at your original ? See below picture. This is the user manual that I just downloaded (19/12/25 13:00 CET). ![]() Volhout PicomiteVGA PETSCII ROBOTS |
||||
| JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4173 |
Seems OK to me, though file shows as Dec 18 20:54 PicoMite_User_Manual.pdf GMT here. John Edited 2025-12-19 22:46 by JohnS |
||||
| Pluto Guru Joined: 09/06/2017 Location: FinlandPosts: 405 |
Command list also corrupted in my user manual. Dated/downloaded 16.12.2025. |
||||
| Page 1 of 2 |
|||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |