Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 00:44 25 Nov 2024 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 : PicoMite V6.00.00 release candidates - all versions

     Page 13 of 24    
Author Message
JanVolk
Senior Member

Joined: 28/01/2023
Location: Netherlands
Posts: 144
Posted: 07:07pm 17 Oct 2024
Copy link to clipboard 
Print this post

Peter,

Possibly already seen?
> list functions

MM.Info$( Occurs twice.

Jan.
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 509
Posted: 08:16pm 17 Oct 2024
Copy link to clipboard 
Print this post

Hi Peter,
Ok,...  LCDs that don't have a 16bit parallel interface. :-)
PS.  what is the max overclock now on a 2350? if not VGA or HDMI

Hi Harm,
See link to Peters memcopy

Regards Kevin.
Edited 2024-10-18 07:34 by Bleep
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4223
Posted: 08:23am 18 Oct 2024
Copy link to clipboard 
Print this post

Hi Peter, Geoff,

I think this is a bug. The INSTR( ) function cannot work with calculated string indexes. I guess this is in MMBasic core (Geoff's original work).

Example:
dim a$(2)
a$(0)="Peter Mather"
a$(1)="Hello World"
a$(2)="Lobster Soup"

x=1
print instr(a$(x),"World")
print instr(a$(x-1),"World") 'this line errors

end


The calculated index (x-1) is not seen as a number.

Regards

Volhout
Edited 2024-10-18 18:24 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3194
Posted: 08:37am 18 Oct 2024
Copy link to clipboard 
Print this post

It doesn't error for me.  I get:
7
0

The last number is correct as x-1 is zero and that index does not contain "World"
This is using ancient V5.05.05
What version are you using?  And what error message?

Geoff
Edited 2024-10-18 18:50 by Geoffg
Geoff Graham - http://geoffg.net
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4223
Posted: 08:50am 18 Oct 2024
Copy link to clipboard 
Print this post

Hi Geoff,

I am seeing this problem in PicoMite VGA RP2040 6.0.0 RC4
The problem exists in 5.08.00 (last official release), 5.09.00RC5 and the 6.00 series.

Volhout
Edited 2024-10-18 18:58 by Volhout
PicomiteVGA PETSCII ROBOTS
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3194
Posted: 08:52am 18 Oct 2024
Copy link to clipboard 
Print this post

What is the error message?
Geoff Graham - http://geoffg.net
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9110
Posted: 08:57am 18 Oct 2024
Copy link to clipboard 
Print this post

Harm: looks like my bug as doesn't happen on the MM2 - will investigate
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4223
Posted: 09:07am 18 Oct 2024
Copy link to clipboard 
Print this post

Hi Geoff,

The error is:
Error : Expected a number


Volhout
PicomiteVGA PETSCII ROBOTS
 
Bleep
Guru

Joined: 09/01/2022
Location: United Kingdom
Posts: 509
Posted: 09:17am 18 Oct 2024
Copy link to clipboard 
Print this post

Hi Peter,
I was thinking about these results
'Pico 2040 @ 378MHz VGA normal 336mS VGA Framebuffer 418mS
'Pico 2350 @ 378MHz VGA normal 193mS VGA Framebuffer 194mS
The difference between the 2040 & 2350 for a framebuffer copy appears to be much greater than I would have thought, I realise it's a completely different processor and you tuned it, but I'm assuming that a memcopy should be reasonably standard, & well optimised, in the SDK, so the difference between them seems overly large, ~2mS compared with ~82mS, or is there something else going on? Bus contention, waiting for a frame sync. etc...
Any insights, because this seems like quite a big speed hit.
Regards Kevin.
Edited 2024-10-18 19:20 by Bleep
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3194
Posted: 09:21am 18 Oct 2024
Copy link to clipboard 
Print this post

  Volhout said  Hi Geoff,
The error is:
Error : Expected a number

Volhout


OK, I just tested it on a RP2350 V6.00.00 (latest RC) and got that same error.  So, something has gone wrong deep in the internals of MMBasic.

Peter?

Geoff
Edited 2024-10-18 19:29 by Geoffg
Geoff Graham - http://geoffg.net
 
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 896
Posted: 09:38am 18 Oct 2024
Copy link to clipboard 
Print this post

I see it in PicoMite HDMI RC8. Looks like its came when the option to allow use of regular expressions in INSTR was added as I also see it in the Armmite H7 which also allows regular expressions.( I copied from Picomite).

dim a$(2)
a$(0)="Peter Mather"
a$(1)="Hello World"
a$(2)="Lobster Soup"

x=1
print instr(a$(x),"World")
print instr(a$(x-1),"World") 'this line errors

end
Saved 148 bytes
7
[8] Print Instr(a$(x-1),"World") 'this line errors
Error : Expected a number
Latest F4 Latest H7
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3800
Posted: 10:35am 18 Oct 2024
Copy link to clipboard 
Print this post

Works OK on the various Linux versions I tried.

John
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4036
Posted: 10:45am 18 Oct 2024
Copy link to clipboard 
Print this post

  disco4now said  ... I see it in PicoMite HDMI RC8. Looks like its came when the option to allow use of regular expressions in INSTR was added ...


  JohnS said  Works OK on the various Linux versions I tried.


MMB4L doesn't have the regular expression feature at the moment.

Best wishes,

Tom
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
JohnS
Guru

Joined: 18/11/2011
Location: United Kingdom
Posts: 3800
Posted: 10:52am 18 Oct 2024
Copy link to clipboard 
Print this post

  thwill said  MMB4L doesn't have the regular expression feature at the moment.

Best wishes,

Tom

No worries and also don't rush to add it...

John
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 11:02am 18 Oct 2024
Copy link to clipboard 
Print this post

MMB4W v5.07.03b24 output:-
 7
 0
>

no error
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9110
Posted: 11:46am 18 Oct 2024
Copy link to clipboard 
Print this post

Unfortunately, it's nothing to do with regular expressions. Much deeper inside MMBasic than that.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4223
Posted: 11:55am 18 Oct 2024
Copy link to clipboard 
Print this post

Peter,

There is an option to use a starting position in the string, as a first value. That must be a numerical. Could it be that it sees the string as the optional starting value.?

Volhout
PicomiteVGA PETSCII ROBOTS
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4223
Posted: 12:29pm 18 Oct 2024
Copy link to clipboard 
Print this post

Peter,

I have one more observation on RC8. (2040 VGA PS2)
Tried several programs, and at some point I ran a program that just output text to the VGA screen in mode 1. The program itself contains a "mode 1:cls", and displays nice white text on a black background. But when the text begins to scroll, the new lines have white background, but the text printed on them is white text on black background.

So you are looking at normal text, and from the last character to the end of the line is white. Not black.

I checked the tiles, but they do not cause it.
I manually typed "mode 1" and that didn't solve it.
I ran the program several times, the phenonem remained.

I did a CPU RESTART and then the problem was gone.
I do not know what caused it. Honestly I looked so long into this that I can't even remeber what program I ran before it. But it seems that program left something in memory that is not erased at a new RUN.

I know this is by no way reproducible. So you can't solve it.
But maybe someone else sees the same, and give more info.

Volhout
Edited 2024-10-18 22:30 by Volhout
PicomiteVGA PETSCII ROBOTS
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9110
Posted: 03:04pm 18 Oct 2024
Copy link to clipboard 
Print this post

V6.00.00RC9


PicoMiteRP2350V6.00.00RC9.zip

PicoMiteRP2040V6.00.00RC9.zip


Fixes bug in instr when an expression is used as the index to an array as the first parameter

Fixes DS18B20 functionality ( and possibly DHT22?). This was caused by a change introduced to try and circumvent, to the extent possible, errata E9 on the RP2350

Removes spurious MM.INFO$ in LIST FUNCTIONS

Further fix to MM.STARTUP
 
ville56
Regular Member

Joined: 08/06/2022
Location: Austria
Posts: 91
Posted: 05:11pm 18 Oct 2024
Copy link to clipboard 
Print this post

Peter,

another problem with DS18B20 still persists. If you have a loop with 2 sensors and a print statement  within the loop the firmware locks up completely after some time. It can only be restarted by power-cycling or the reset signal. It can even be reproduced without any sensors connected. Takes a few minutes of runtime but it is reproducable. If the loop has only 1 sensor, it works ok.

Example code (excuse some unneccesary variables and setpin statements):

 
 Option EXPLICIT
 Option DEFAULT NONE
 
 const acc_18B20 = 0
 const ar_size = 9
 
 Dim integer idx, flg
 dim float temp_R, temp_HK, temp_R_arry(ar_size), temp_HK_arry(ar_size), m_temp_R, m_temp_HK
 
 'set pins to high for DS18B20 supply
 setpin gp8,dout
 pin(gp8)=1
 setpin gp12,dout
 pin(gp12)=1

 Do
   'start conversions
   tempr start gp9,acc_18B20
   tempr start gp13,acc_18B20
   
   'read sensors
   temp_R = tempr(gp9)
   temp_HK = tempr(gp13)

   print "Heater=";temp_HK, "Room=";temp_R
   
 Loop


Omitting the print statement make the loop work, at least over more than 12 hours.

Regards, Gerald
                                                                 
73 de OE1HGA, Gerald
 
     Page 13 of 24    
Print this page
© JAQ Software 2024