About time the ArmmiteH7 got some TLC: V5.07.01 betas


Author Message
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 6225
Posted: 05:18pm 10 Jan 2022      

I've brought the ArmmiteH7 up-to-date with all the latest goodies


ArmmiteH7V5.07.01b0.zip

More speed improvements plus

Now includes the following new commands and sub-commands
INV
CALL
MID$
SORT
CSUB
END CSUB
CAT
BITBANG
MEMORY SET
MEMORY COPY
LOAD JPG

The following functions
BOUND
CHOICE
CALL
JSON$
KEYDOWN
FORMAT$
BASE$

and one more operator
INV

You can check the Picomite and/or CMM2 manuals for details. I will do a H7 manual update eventually.
I've tested with a reasonable range of programs on both the older Nucleo-H743ZI and the new Nucleo-H743-ZI2 but of course this is a beta so I await bug reports.
Performance is now just below CMM2 which has some additional tweaks which can't work on the normal H7.

CSUBs have been tested at a simplistic level. Here is the relevant header file


ARMH7CFunctions.zip

See this thread for how to create them.
Here is a simple one to get you going
a=10
b=20
swap a,b
Print a,b
c$="0123456789"
d$=""
strrev c$,d$
Print d$
End

CSub swap
00000000
E9D1B430 E9D02300 E9C04500 E9C12300 BC304500 BF004770
End CSub
'
CSub strrev
00000000
700B7803 4403B133 2901F813 2F01F801 D1F94283 BF004770
End CSub


#define MMFLOAT double
void swap(long long int *a,long long int *b){
   long long int c;
   c=*a;
   *a=*b;
   *b=c;
}
void strrev(unsigned char in[], unsigned char out[]) {

  unsigned int i;

  unsigned int len;

  //MMBasic stores the length of the string in the
  //first,0th,byte
  len=in[0];

  //Set the length of the output string
  out[0]=len;

  //Do the reverse copy
  for(i=1;i<(len+1);i++){
      out[i]=in[len-i+1];
  }

  //and return the length of the string
}




NB: As with the last release there is something odd about programming the H7 using drag and drop and Cube programmer

If you have issues program this version first


ArmmiteH7.zip

Then full chip erase, then program the new version, then click reset. I know this makes no sense but it works  

Current out-of-date manual

Armmite H7 Manual.pdf
Edited 2022-01-11 03:53 by matherp