Home
JAQForum Ver 19.10.27
Log In or Join  
Active Topics
Local Time 11:15 19 Feb 2020 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 - STM32H7: Developments

     Page 11 of 11    
Author Message
Frank N. Furter
Guru

Joined: 28/05/2012
Location: Germany
Posts: 493
Posted: 07:35am 30 Aug 2018
Copy link to clipboard 
Print this post

Hi goc30,

is this where you live? VERY NICE!!!


Frank
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 3004
Posted: 08:00am 30 Aug 2018
Copy link to clipboard 
Print this post

Release 5.04.29

This implements PRINT #GPS and SENSORFUSION as per the MMX (see the MMX manual for details).

2018-08-30_175244_Armmite1.3.zip

I think this completes all the relevant functionality from the MMX so I suppose it is time to do a manual for the Armmite H7

I'll start a new thread once the manual is complete as this will be the first full release. In the meantime please continue to report any bugs on this thread.
 
goc30

Senior Member

Joined: 12/04/2017
Location: France
Posts: 289
Posted: 09:47am 30 Aug 2018
Copy link to clipboard 
Print this post

  Frank N. Furter said   Hi goc30,

is this where you live? VERY NICE!!!


Frank


yesss! you see me??
 
panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 672
Posted: 07:38am 01 Sep 2018
Copy link to clipboard 
Print this post

Hi Peter,

I have my Nucleo up and running with the 1.2 backpack and with a small veroboard adapter, a 4" Pi ILI9481 LCD running just fine.

I have sucessfully set the display to also act as a console with
OPTION LCDPANEL CONSOLE but short of a reset, I can't figure out how to stop the LCD acting as a console - any suggestions?

Thanks,
Doug.

... all the Maximites, almost all of the MicromMites, all the MM Extremes, all the ArmMites, and loving it!
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 3004
Posted: 07:48am 01 Sep 2018
Copy link to clipboard 
Print this post

  Quote  OPTION LCDPANEL CONSOLE but short of a reset, I can't figure out how to stop the LCD acting as a console - any suggestions?


OPTION LCDPANEL NOCONSOLE, same as MM+
 
goc30

Senior Member

Joined: 12/04/2017
Location: France
Posts: 289
Posted: 08:04am 01 Sep 2018
Copy link to clipboard 
Print this post

hi peter

I have a problem with input's pins
I want to use some pins in interrupt mode as explained in Micromite's doc like
SETPIN 42, INTH, Spbtn1
...
do
..
loop

sub Spbtn1

end sub


system send
Invalid configuraton

if I use without target, it accept my config and work correctly (need scanning in do...loop)
where is my fault ??Edited by goc30 2018-09-02
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 3004
Posted: 08:32am 01 Sep 2018
Copy link to clipboard 
Print this post

  Quote  I have a problem with input's pins


Thanks for the report - hopefully this should fix it - no version change

2018-09-01_183214_Armmite1.3.zip
 
goc30

Senior Member

Joined: 12/04/2017
Location: France
Posts: 289
Posted: 09:11am 01 Sep 2018
Copy link to clipboard 
Print this post



I field good

I have also an Rotary encoder and for that I need interrupt mode

thank peter Edited by goc30 2018-09-02
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 3004
Posted: 09:29am 01 Sep 2018
Copy link to clipboard 
Print this post

  Quote  I have also an Rotary encoder and for that I need interrupt


Here is my patented switch-bounce immune rotary encoder I/F code

option default integer
const false=0
const true=1
const in0=3 'encoder pins pulled high so should be reading high in detent positions, centre pin connected to ground
const in1=2 'swap the pin definitions as required to get the correct sense of rotation
'
init:
setpin in0,intB,rint 'enable interrupts on both edges of both pins
setpin in1,intB,rint
rotatedright=false
rotatedleft=false
resetenc=true
value=0
lastvalue=0
print value
'
MAIN:
Do
if value <> lastvalue then
print value
lastvalue=value
endif
Loop
end
'
sub rint:
pin0=NOT pin(in0) 'reverse sense to get positive logic
pin1=NOT pin(in1)
if pin0 then
if pin1 and not resetenc then 'in0 and in1 both active
if rotatedleft and not rotatedright then
value=value-1
rotatedleft=false
endif
if rotatedright and not rotatedleft then
value=value+1
rotatedright=false
endif
else 'only in0 active
if resetenc and not rotatedleft then
rotatedright=true
resetenc=false
endif
endif
else
if pin1 then 'only in1 active
if resetenc and not rotatedright then
rotatedleft=true
resetenc=false
endif
else 'both off so reset
rotatedleft=false
rotatedright=false
resetenc=true
endif
endif
if pin(in0)=pin0 or pin(in1)=pin1 then goto rint 're-enter if another change has happened almost immediately
ireturn
 
goc30

Senior Member

Joined: 12/04/2017
Location: France
Posts: 289
Posted: 04:14pm 01 Sep 2018
Copy link to clipboard 
Print this post

hi peter

I had to change your "rint" sub because I had an error (too many subs for interrupt)

new version
sub rint
rint2:

pin0=NOT pin(in0) 'reverse sense to get positive logic
pin1=NOT pin(in1)
if pin0 then
if pin1 and not resetenc then 'in0 and in1 both active
if rotatedleft and not rotatedright then
value=value-1
rotatedleft=false
endif
if rotatedright and not rotatedleft then
value=value+1
rotatedright=false
endif
else 'only in0 active
if resetenc and not rotatedleft then
rotatedright=true
resetenc=false
endif
endif
else
if pin1 then 'only in1 active
if resetenc and not rotatedright then
rotatedleft=true
resetenc=false
endif
else 'both off so reset
rotatedleft=false
rotatedright=false
resetenc=true
endif
endif
if pin(in0)=pin0 or pin(in1)=pin1 then goto rint2 're-enter if another change has happened almost immediately
end sub


for digital inputs I use an anti-rebound procedure
my prog is like exemple prog in Micromite manual
option default integer
const false=0
const true=1
const in0=49
const in1=50
'

Dim integer protb 'lecture pin 3 avec antirebond
Dim integer valrot 'valeur codeur rotatif
dim integer lastvalue
Dim integer vrot
Dim integer vrotsens 'sens de rotation 0=positif, 1=negatif


init:
setpin in0,intH,rint3 'enable interrupts on high of rot A pin
setpin in1,DIN
Protb=(Pin(in1) xor 1) 'to define first state of pin "B"
value=0
print value
'
MAIN:
Do
'--- need 2 pass minimum with same value to confirm
Protb=((Protb*2) And 3) Or (Pin(in1) xor 1)
'----
if valrot<> lastvalue then
print valrot
lastvalue=value
endif
Loop
end
'
'------- interrupt proc ----
rint3:
If Protb=3 Then 'state 1 confirm
valrot=valrot+1
'vrotsens=0
End If
If protb=0 Then 'state zero confirm
valrot=valrot-1
'vrotsens=2
End If
valrot
'Print valrot
IReturn


I also cabled the circuit specified by manufacturer in datasheet (2 x 10k and 1 x 10nf))Edited by goc30 2018-09-03
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1062
Posted: 11:01am 25 Sep 2018
Copy link to clipboard 
Print this post

  TassyJim said   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


Hi Jim.

I was just converting your spreadsheet into a load of Const statements so the ST notation can be used in my code and it threw up an error that D70 was already declared. Checking back to your spreadsheet, the offending lines are C:14 & C:55 on sheet 2

just sayin...
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 3004
Posted: 12:31pm 25 Sep 2018
Copy link to clipboard 
Print this post

C55 should be D7
 
CaptainBoing

Guru

Joined: 07/09/2016
Location: United Kingdom
Posts: 1062
Posted: 02:21pm 25 Sep 2018
Copy link to clipboard 
Print this post

thanks
 
     Page 11 of 11    
Print this page


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

© JAQ Software 2020