Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 06:52 02 Aug 2025 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 : Armmite H7 questions

Author Message
vincenthimpe
Regular Member

Joined: 14/10/2018
Location: United States
Posts: 71
Posted: 11:43pm 13 Oct 2018
Copy link to clipboard 
Print this post

which touch controllers are supported ?

i am reworking an earlier design i did to port a Teensy (freescale) over to the STM32H7 chipset so i can run Armmite H7 and get rid of the whole arduino thing.

I use a SPI IlI9341 2.8 inch 320x240 but with a built-in capacitive touch controller on i2C.





The entire design is done in circuitmaker as a 4 layer board and open source.

- Bluetooth link
- sdcard
- usb console port (Silabs based)
- standby/power
- illuminated buttons
- navigator pad with rotary encoder
- 320x240 over SPI with capacitive touch

so : what touch controllers are suported ?

oh, and is there an updates basic users manual. the latest basic language manual is 4.5 ... it would be good to have one for 5.whatever-we-are-at-now

Thanks
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6283
Posted: 02:18am 14 Oct 2018
Copy link to clipboard 
Print this post

For manuals, there are the ones on Geoff's web site
http://geoffg.net/micromite.html
You will need the micromite and Micromite Plus manuals.
The changes for the Armite are in manuals Peter posted in the Armite threads.

The touch controller is the XPT2046
If you want to use a capacitive touch screen, you will have to do your own code.
I don't thing anyone has tried yet.

Jim

VK7JH
MMedit
 
vincenthimpe
Regular Member

Joined: 14/10/2018
Location: United States
Posts: 71
Posted: 07:41pm 14 Oct 2018
Copy link to clipboard 
Print this post

how can i hook into the existing code ?
i can write my own driver but want to dispatch the calls to the GUI elements.
Is there a way to provide user drivers ?
 
Vito
Newbie

Joined: 11/10/2016
Location: Australia
Posts: 17
Posted: 07:18am 15 Oct 2018
Copy link to clipboard 
Print this post

Hi Vincent,

Guys on this forum most likely don't know who you are and that you are like "Royalty" in electronics/microcontroller field.

You will probably get most of your answers from MMbasic source code by filling and requesting from the following link.

http://mmbasic.com/source.html

I hope things are going well at Tesla.

By the way you have a good looking H7 board there.

Best Regards
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10315
Posted: 07:36am 15 Oct 2018
Copy link to clipboard 
Print this post

  Quote  how can i hook into the existing code ?
i can write my own driver but want to dispatch the calls to the GUI elements.
Is there a way to provide user drivers ?


The answer is "yes but"

All Micromites support CFunctions and include a hook to a routine "int GetTouchAxis(int cmd)"

The issue is creating the CFunction for the Armmite. Some years ago Peter Carnegie created a routine to take an ARM .ELF file and convert it to the CFunction Basic statements. Unfortunately he no longer posts and his code is no longer available.
I re-created a CFunction generator for the PIC with TassyJim but haven't looked at doing one for the ARM. You also need to compile the code to be position independent. On the PIC this means a bunch of compiler options.

-fPIC -mno-abicalls -fno-toplevel-reorder -shared -membedded-data -mno-long-calls -fno-jump-tables -mno-jals -mgpopt -Wuninitialized -Wunused-variable -Wunused-value -Wunreachable-code


The simplest solution is for me or you to include support for capacitive touch in the Armmite firmware. I did write a capacitive touch driver for the PIC some time ago but can't remember which chip it supported.

I could make the Armmite source available to you with Geoff's agreement for you to integrate the driver.
 
vincenthimpe
Regular Member

Joined: 14/10/2018
Location: United States
Posts: 71
Posted: 05:32am 16 Oct 2018
Copy link to clipboard 
Print this post

hmm... looks like the H7 support is not on par as the pic32 MZ support. Maybe i should do the MZ version of this board first. i got access to the source but i'm unfamiliar with the toolchain.

things i want to do :
- capacitive driver for the FT6206 controller
- enable all 5 i2c , all 6 SPI channels all 6 uarts including hardware handshakes.
- one SPI is hardwired to sdcard, one Uart is hardwaired to the BLe module , one i2c is used for system household ( battery gauge , navipad, buttons, led's ) the others are wired to board edge connectors.
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 10315
Posted: 07:09am 16 Oct 2018
Copy link to clipboard 
Print this post

  Quote  looks like the H7 support is not on par as the pic32 MZ support


Note, CFunctions are "difficult" on the MZ due to recent XC32 compiler changes which affected the way position independent code is produced. You can't use the older version of the compiler because the MZ isn't supported.

Your wish list really means creating a custom version of MMBasic which would be for your use only. This is fully allowed under the terms of the Micromite licence which also applies to the MZ but neither the source or binary can be distributed.
 
vincenthimpe
Regular Member

Joined: 14/10/2018
Location: United States
Posts: 71
Posted: 06:18pm 16 Oct 2018
Copy link to clipboard 
Print this post

  matherp said  
Your wish list really means creating a custom version of MMBasic which would be for your use only. This is fully allowed under the terms of the Micromite licence which also applies to the MZ but neither the source or binary can be distributed.


That's why i want to attempt this from withing MMbasic itself using peek and poke to access registers.

All i need to do is alter some registers to reassign the IO pins to the correct functions , and to access the controllers.

No need to modify the C sourcecode. All you need is to include a block of basic sourcecode. No distribution problem. No C code required.

I simply want access to all the I2C channels and more granular control over the i2c operations (restart , clock stretching) . Two just isn't enough.Edited by vincenthimpe 2018-10-18
 
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 2025