Author |
|
matherp Guru

Joined: 11 December 2012 Location: United Kingdom
Online Status: Offline Posts: 2636
|
Posted: 09 June 2018 at 10:20pm | IP Logged
|
|
|
Thought I would create a new thread for the Armmite H7 as I've had a few minutes to work on it. I'll post updates to this thread as they occur and please use it for comments/bug reports etc.
This release supports the normal range of MM+/MMX file handling functions (I hope!!!)


2018-06-09_221110_STM32H743ZI_Nucleo.zip
Pinout is fixed:
SD-CS = PF6 SD-CLK = PF7 SD-MISO = PF8 SD-MOSI = PF9
These pins are not available for any other use and there is therefore no associated "OPTION" command needed.
The software automatically detects insertion and removal of a card and will deal with this appropriately. There in no requirement to connect anything to the card-detect output from the sdcard slot
Performance has also been increased significantly
Quote:
> load "benchmark" > RUN Micromite Benchmark tests
Benchmark 1 0.003
Benchmark 2 0.023
Benchmark 3 0.038
Benchmark 4 0.042
Benchmark 5 0.067
Benchmark 6 0.098
Benchmark 7 0.146
Benchmark 8 0.065 > > save "grainbench" > run MMBASIC benchmark (C) KnivD 2016 Calculating... Performance: 8804 grains
|
|
|
Edited by matherp on 09 June 2018 at 10:23pm
|
Back to Top |
|
|
goc30 Senior Member


Joined: 12 April 2017 Location: France
Online Status: Offline Posts: 142
|
Posted: 10 June 2018 at 2:35am | IP Logged
|
|
|
Hi What "user manual" i can use for instructions/functions aviable ?
|
Back to Top |
|
|
matherp Guru

Joined: 11 December 2012 Location: United Kingdom
Online Status: Offline Posts: 2636
|
Posted: 10 June 2018 at 2:46am | IP Logged
|
|
|
Quote:
What "user manual" i can use for instructions/functions aviable ? |
|
|
There isn't one - this is in early stages of development.
The Basic language should be as per the Micromite language. Digital I/O should be working as per the previous thread and now SDcard I/O is working as per the MM+ manual
Edited by matherp on 10 June 2018 at 2:48am
|
Back to Top |
|
|
goc30 Senior Member


Joined: 12 April 2017 Location: France
Online Status: Offline Posts: 142
|
Posted: 10 June 2018 at 3:42am | IP Logged
|
|
|
Thank Peter In fact, i would like to know if it is possible to connect screen (ILI ou ssd) and if a can use "Cfunction"
|
Back to Top |
|
|
matherp Guru

Joined: 11 December 2012 Location: United Kingdom
Online Status: Offline Posts: 2636
|
Posted: 10 June 2018 at 4:05am | IP Logged
|
|
|
Quote:
In fact, i would like to know if it is possible to connect screen (ILI ou ssd) |
|
|
Not yet - probably next on the to-do list
Quote:
and if a can use "Cfunction" |
|
|
The ARM processor is much better for CFunctions than the PIC as the compiler produces better position independent code. The very first version of the Armmite had Cfunctions but the work to make them work on the ARM was done by Peter Carnegie who no longer posts so I would have to re-invent quite a lot of stuff. It is not something for the near future. Of course the need for Cfunctions is less on the H7 as it is so fast anyway
|
Back to Top |
|
|
goc30 Senior Member


Joined: 12 April 2017 Location: France
Online Status: Offline Posts: 142
|
Posted: 10 June 2018 at 4:22am | IP Logged
|
|
|
Ok, thank i use time before an armmite with LCd to learn this card
|
Back to Top |
|
|
TassyJim Guru


Joined: 07 August 2011 Location: Australia
Online Status: Online Posts: 2924
|
Posted: 10 June 2018 at 6:01pm | IP Logged
|
|
|
The MMEdit File Manager is happy with it.
 Copy to and from the armmite works well but I have found a bug in MMEdit that cause a lockup (in MMEdit) when you try to copy the edit window contents to a file on the armmite.
Jim
__________________ It all started with the ZX81.... VK7JH http://www.c-com.com.au/MMedit.htm
|
Back to Top |
|
|
TassyJim Guru


Joined: 07 August 2011 Location: Australia
Online Status: Online Posts: 2924
|
Posted: 11 June 2018 at 3:41pm | IP Logged
|
|
|
Today's progress. I have started mapping the CPU pin numbers (which MMBasic) uses to the descriptions that the connector diagrams use. Starting with the blue push button and the red and blue LEDs.
Quote:
'nucleo tests SETPIN 7, DIN ' pushbutton 1 (Blue) SETPIN 137, DOUT ' blue LED SETPIN 75, DOUT ' red LED DO x = PIN(7) PIN(137) = x PIN(75) = 1 - x 'PRINT x PAUSE 100 LOOP
|
|
|
Not very exciting stuff but it does confirm that my reading of the schematics is correct.
I have also learnt to wait while doing a NEW or saving programs. If you don't wait the 5 seconds it takes for the prompt to appear, you will be reaching for the reset button!
Jim
__________________ It all started with the ZX81.... VK7JH http://www.c-com.com.au/MMedit.htm
|
Back to Top |
|
|
TassyJim Guru


Joined: 07 August 2011 Location: Australia
Online Status: Online Posts: 2924
|
Posted: 12 June 2018 at 4:48pm | IP Logged
|
|
|
Inbuilt editor seems to be happy.
I have created a spreadsheet with the pin mappings. MMBasic uses the CPU pin numbers. The spreadsheet data is taken from the datasheet for the processor and the module. There appears to be a lot of 5V tolerant pins which is nice to see. 2018-06-12_164535_NUCLEO-H743ZI-pinout.zip
Jim
__________________ It all started with the ZX81.... VK7JH http://www.c-com.com.au/MMedit.htm
|
Back to Top |
|
|
matherp Guru

Joined: 11 December 2012 Location: United Kingdom
Online Status: Offline Posts: 2636
|
Posted: 14 June 2018 at 1:40am | IP Logged
|
|
|
All change I'm afraid V5.04.08
2018-06-14_013523_Armmite.zip
The performance of the SD card was not good enough using the SPI inteface so I have converted the code to use the full 4-bit parallel SD card interface. I've also implemented full audio output using the on-chip DAC.
This is a major rework of the codebase as I have converted from a hack of a demo program to a full start-from-scratch CubeMX project (in other words bugs are possible/likely).
 The revised pinout is as follows:
PF6, PF7, PF8, PF9: are now available for general use.
PC8: SD-D0 (pin-98) PC9: SD-D1 (pin-99) PC10: SD-D2 (pin-111) PC11: SD-D3 (pin-112) PC12: SD-CLK (pin-113) PD2: SD-CMD (pin-116) PG2: SD-CardDetect (pin-87) The SD pins are dedicated and may not be used for anything else.
These pins are all available on CN8 (labelled SDMMC) in the order above from the top right of the connector down.
The Dac pins are:
PA4: DAC1 (pin-40) PA5: DAC2 (pin-41) The DAC pins are dedicated and may not be used for anything else.
These are available on CN7 (D13 and left of D8)
Audio commands supported are as per the MMX
PLAY TONE f1, f2 [,duration] PLAY WAV "filename" [,interrupt] PLAY FLAC "filename" [,interrupt] TTS string$
In addition the DACs can be used directly from Basic when not otherwise in use.
DAC n, voltage 'n=1 or 2, voltage = 0-3.3
Dim s(359),c(359) For i=0 To 359 s(i)=(Sin(Rad(i))+1)*1.65 c(i)=(Cos(Rad(i))+1)*1.65 Next i Do For i=0 To 359 DAC 1,s(i) DAC 2,c(i) Next i Loop |
|
|
Edited by matherp on 14 June 2018 at 2:04am
|
Back to Top |
|
|
goc30 Senior Member


Joined: 12 April 2017 Location: France
Online Status: Offline Posts: 142
|
Posted: 14 June 2018 at 3:20am | IP Logged
|
|
|
Hi thank for job just a small point: signal (arduino) "D2" seem to be lost. In package's doc, pin "d2" is the PF15 pin (n° 55)
|
Back to Top |
|
|
matherp Guru

Joined: 11 December 2012 Location: United Kingdom
Online Status: Offline Posts: 2636
|
Posted: 14 June 2018 at 7:22am | IP Logged
|
|
|
Quote:
just a small point: signal (arduino) "D2" seem to be lost. In package's doc, pin "d2" is the PF15 pin (n° 55) |
|
|
Setpin 55,dout pin(55)=1 pin(55)=0 |
|
|
works perfectly for me
|
Back to Top |
|
|