Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 19:34 18 Aug 2026 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 : Accidental Post - Originally in Wrong Forum.

Author Message
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 1138
Posted: 04:59am 08 Jun 2025
Copy link to clipboard 
Print this post

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░   WORK IN PROGRESS F407xGT6 Update  
░░                Please don't reply to thread       ░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░


TODO
-----
--- Changes from Picomite 6.00.02RC5 ---
https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=17777#235710

Functions MM.HRES, MM.VRES, MM.VER, M.I2C, MM.FONTHEIGHT, MM.FONTWIDTH, MM.PS2, MM.HPOS, MM.VPOS, MM.ONEWIRE, MM.Errno, MM.ErrMsg$, MM.WATCHDOG, MM.DEVICE$
are now all implemented as written and none of them are converted to MM.INFO calls by the pre-processor

function TEMPR(Pinno [,timeout]) 'new optional parameter timeout to override the default (200mSec) to allow for slow devices
command TEMPR START GPno [,resolution(0-3)] [,timeout]  'new optional  parameter timeout to override the default (100, 200, 400, or 800mSec) to allow for slow devices

Have a look on github at fun_tilde in functions.c, llist in commands.c, changes to str_replace (fixes a bug where replacements could happen incorrectly) and tokenise in MMBasic.c. I'm going to add MM.CMDLINE$ and the MQTT MM.s as well in the next RC which will get rid of the various background variable creation code that current supports them.

Automatic length adjustment for string constants.
Where a constant string is less that 16 characters no heap will be used. The data is stored within the pre allocated table for the variable definitions.
String variables defined with a LENGTH of less than 16 (was previously < 8) are also stored within the variable definition and require no heap allocation.

Added @( function. i.e. PRINT @(x,y) when outputting to the console.
OPTION CHARS will enable x,y to be entered as row,column in lieu of pixels.
OPTION CHARS OFF will return to pixels.

Fix MATH V_PRINT
GetSystemMemory performance stuff


--------------------------------------------------------------------------------


ARMmiteF407xGT 5.07.02 -for STM32F407VGT6,STM32F407ZGT6,STM32F405RGT6 In Progress
Armmite F407xGT6 5.07.02 Beta 1
BYVAL and BYREF qualifiers added to SUB definition.
PWM will set output pin to OC(Open Collector/Drain) if frequency given as -ve number.
PWM fixed issue where a frequency change was not recorded, so returning to the original frequency did not result in an update.
LIBRARY SAVE future proofed for 0xFF token 16bit tokens.
OPTION LCDPANEL accepts [,INVERT] to invert colours on ILI9341 and ILI9488
Support for LCD Display ST7796S 480*320 SPI
Fixed issue where MEMORY command erased saved variables.
LINE command enhanced. LW given as -LW will set LW in all directions



Armmite F407xGT6 5.07.02 Beta 0
This first Beta includes all enhancements/fixes as per Armmite F407 5.07.02 Beta 3/4. see here
These include:
CAN [OPEN|CLOSE|START|STOP|FILTER|SEND|READ] commands added
FSMC pins now available for MMBasic use if no parallel display configured.

These additions/differences apply to the F407xGT6 5.07.02

The additional flash allows increased size for the firmware.The firmware is now optimised for speed rather than size.
No LCD Panel is configured by default.
The LIBRARY is now an additional 128K flash section separate to program memory and does not rely on the SPI Windbond flash chip.
OPTIONS are moved back into flash so not dependent on RTC battery.
SAVED VARS are moved back into flash so not dependent on RTC battery.
Both are reset to default when new firmware is loaded.
The Command Line Buffer is moved to RTC Ram (first 1K)
OPTION RESET will clear the options and also the Command Line Buffer.
RTC Ram is also cleared with an MMBasic RESET.

LIBRARY RESTORE will restore any existing library after OPTION RESET.
MM.INFO(DEVICETYPE) added. Returns "Feather" for Adfruit feather else ""
I2C SLAVE mode added.
OPTION Fn5-9 added.
LINE AA command added
LINE GRAPH command added
LINE PLOT command added  
MATH CROSSING() added
MATH CRC12 added
MATH POWER added
MATH SHIFT added
MATH(CHI ..) function added
MEMORY PACK/UNPACK added
MEMORY INPUT/PRINT added
SORT command enhanced as per Picomites.

Armmite F407xGT6 5.07.02 Beta Releases
This firmware supports STM32F407xGT6 chips with 1 Meg Flash.i.e STM32F407VGT6 100 pin, STM32F407ZGT6 144 pin, WeAct STM32F405RGT 64 pin and Adafruit Feather STM32F405RGT 64 pin .
The links below point to the latest Manual, Firmware, Source and a FotS page dedicated to the ARMmiteF407xGT version.
See the FotS page for details on the boards that have been tried/tested.

Latest Manual
Armmite F407xGT6 User Manual
Latest Firmware
There are three versions of the firmware:
The default version uses the default PE3 and PE4 pins for MMBasic Reset and Switch to Serial Console on the 100 and 144 pin boards.
The PC13Reset versions uses PC13 to test for MMBasic Reset and Switch to Serial Console.
The Adafruit version is for the 64 pin Adafruit version with a 12MHz clock.
Armmite F407VGT6 Firmware (default) on GitHub
Armmite F407VGT6 Firmware (PC13Reset) on GitHub
Armmite F407VGT6 Firmware (AdaFruit Feather) on GitHub
CFunctions Header File 
CFunctions Header File (ARMF4CFunctions.h)
Source Code
Source Code on  GitHub
Fruit of the Shed
FotS Armmite F407xGT6

Footnotes in this first post will be used to reference further updates as required.
---------------------------------------------------------------------
Edited 2026-07-25 12:35 by disco4now
F4 H7FotSF4xGT
 
Print this page


To reply to this topic, you need to log in.

The Back Shed's forum code is written, and hosted, in Australia.
© JAQ Software 2026