![]() |
Forum Index : Microcontroller and PC projects : Armmite - STM32H7: Developments
![]() ![]() |
|||||
Author | Message | ||||
Frank N. Furter Guru ![]() Joined: 28/05/2012 Location: GermanyPosts: 936 |
Hi goc30, is this where you live? VERY NICE!!! ![]() ![]() Frank |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10064 |
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![]() Guru ![]() Joined: 12/04/2017 Location: FrancePosts: 435 |
yesss! you see me?? ![]() |
||||
panky![]() Guru ![]() Joined: 02/10/2012 Location: AustraliaPosts: 1111 |
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. ... almost all of the Maximites, the MicromMites, the MM Extremes, the ArmMites, the PicoMite and loving it! |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10064 |
OPTION LCDPANEL NOCONSOLE, same as MM+ |
||||
goc30![]() Guru ![]() Joined: 12/04/2017 Location: FrancePosts: 435 |
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 ?? |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10064 |
Thanks for the report - hopefully this should fix it - no version change 2018-09-01_183214_Armmite1.3.zip |
||||
goc30![]() Guru ![]() Joined: 12/04/2017 Location: FrancePosts: 435 |
![]() ![]() ![]() I field good I have also an Rotary encoder and for that I need interrupt mode thank peter ![]() |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10064 |
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![]() Guru ![]() Joined: 12/04/2017 Location: FrancePosts: 435 |
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)) |
||||
CaptainBoing![]() Guru ![]() Joined: 07/09/2016 Location: United KingdomPosts: 2139 |
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 KingdomPosts: 10064 |
C55 should be D7 |
||||
CaptainBoing![]() Guru ![]() Joined: 07/09/2016 Location: United KingdomPosts: 2139 |
thanks |
||||
![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |