Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 05:57 27 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/VGA/WEB V5.07.08 release candidates

     Page 18 of 18    
Author Message
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 6099
Posted: 10:19pm 29 Nov 2023
Copy link to clipboard 
Print this post

Can't help you with the SDcard.
For the backlight, try increasing the PWM frequency and see what the highest frequency your display can handle (Up to the 50k the firmware now uses)

Jim
VK7JH
MMedit   MMBasic Help
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6797
Posted: 10:33pm 29 Nov 2023
Copy link to clipboard 
Print this post

Are GP10, GP11, GP12 or GP22 used by anything special on the Pico W? I've never used one. Those pins are dedicated on that Waveshare board.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 10:47pm 29 Nov 2023
Copy link to clipboard 
Print this post

The touch controller shares MISO with the SD card and unless touch is enabled it blocks access to MISO.
If you don't want touch find which Pico pin goes to T_CS (chip select) and set that pin high. That will switch off T_DO (data out), allowing SD to communicate.

Include PWM in MM.Startup to automatically enable it.
Sub MM.Startup
 SETPIN GP13, PWM6B
 PWM 6, 1000, , 50
End Sub
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 10:52pm 29 Nov 2023
Copy link to clipboard 
Print this post

  Quote  Conclusion, must be a bug, sorry Peter.


It is not a bug - the PWM works perfectly as confirmed by Phil. This display must be unable to accept a 50KHz PWM which is pathetic
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 351
Posted: 10:52pm 29 Nov 2023
Copy link to clipboard 
Print this post

  Mixtel90 said  Are GP10, GP11, GP12 or GP22 used by anything special on the Pico W? I've never used one. Those pins are dedicated on that Waveshare board.


I do not think so **grr** I2C2 SDA is missing :-(


Edited 2023-11-30 08:54 by homa
 
homa

Guru

Joined: 05/11/2021
Location: Germany
Posts: 351
Posted: 11:15pm 29 Nov 2023
Copy link to clipboard 
Print this post

  matherp said  
  Quote  Conclusion, must be a bug, sorry Peter.


It is not a bug - the PWM works perfectly as confirmed by Phil. This display must be unable to accept a 50KHz PWM which is pathetic


You are right.

> pwm 6,10,,90         'flicker !!
> pwm 6,100,,90        'ok
> pwm 6,1000,,90       'ok, but darker
> pwm 6,10000,,90      'dark
> pwm 6,12000,,90      'darker
> pwm 6,13000,,90      'darkest
> pwm 6,14000,,90      'off
 
javavi

Senior Member

Joined: 01/10/2023
Location: Ukraine
Posts: 216
Posted: 10:55am 30 Nov 2023
Copy link to clipboard 
Print this post

Since I am testing PicoMiteVGA on a different circuit, I assembled the MMBASIC system from sources with changes for my circuit, taken from https://github.com/UKTailwind/PicoMite
But the last update (PicoMite V5.07.08RC19) was two weeks ago.
Where can I download the latest updated release candidate source code?
PicoMite V5.07.08RC21
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4040
Posted: 11:12am 30 Nov 2023
Copy link to clipboard 
Print this post

  javavi said  Since I am testing PicoMiteVGA on a different circuit, I assembled the MMBASIC system from sources with changes for my circuit, taken from https://github.com/UKTailwind/PicoMite
But the last update (PicoMite V5.07.08RC19) was two weeks ago.
Where can I download the latest updated release candidate source code?
PicoMite V5.07.08RC21


Assuming your circuit is based on the Pico (and not simply the RP2040) I'm curious as to why the circuit matters since the firmware is built around the Pico circuit, I suppose you might have changed the VGA wiring ?

Anyway, the contents of that github repo is the latest PUBLISHED source. If it isn't up to date then you just have to be patient. Peter doesn't use github (or any public service) as his master repository and is under no obligation to keep it up to date. At the moment I think he may be "away" hence his lack of reply.

Best wishes,

Tom
Edited 2023-11-30 21:21 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6797
Posted: 11:41am 30 Nov 2023
Copy link to clipboard 
Print this post

The Raspberry Pi Pico Datasheet doesn't show I2C2 SDA on GP22 either, so it doesn't surprise me that it's not shown for the Pico W. That doesn't mean that it's not there though. :) It *is* listed in the RP2040 Datasheet.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 4239
Posted: 01:05pm 30 Nov 2023
Copy link to clipboard 
Print this post

The chip can do it.



PicomiteVGA PETSCII ROBOTS
 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6797
Posted: 01:31pm 30 Nov 2023
Copy link to clipboard 
Print this post

I suspect the original Pico Datasheet missed it in error and it's been a cut & paste job for the W version. Peter seems to have worked from the RP2040 Datasheet for the MMBasic port so he got it right.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
javavi

Senior Member

Joined: 01/10/2023
Location: Ukraine
Posts: 216
Posted: 01:47pm 30 Nov 2023
Copy link to clipboard 
Print this post

  thwill said  
  javavi said  Since I am testing PicoMiteVGA on a different circuit, I assembled the MMBASIC system from sources with changes for my circuit, taken from https://github.com/UKTailwind/PicoMite
But the last update (PicoMite V5.07.08RC19) was two weeks ago.
Where can I download the latest updated release candidate source code?
PicoMite V5.07.08RC21


Assuming your circuit is based on the Pico (and not simply the RP2040) I'm curious as to why the circuit matters since the firmware is built around the Pico circuit, I suppose you might have changed the VGA wiring ?

Tom


 
Mixtel90

Guru

Joined: 05/10/2019
Location: United Kingdom
Posts: 6797
Posted: 02:26pm 30 Nov 2023
Copy link to clipboard 
Print this post

Coincidentally I had a problem last night, with GP27 not reading as an analogue input. I'm using RC19. I *couldn't* figure out what was going on. I resoldered joints, peered at them through an inspection lens. Allsorts. I suspected the RP2040-Zero and the firmware. This morning I put the multimeter on the joystick and that was working fine. I loaded Tera Term and looked at my programming from last night...

SETPIN GP26, AIN
SETPIN GP27, DIN

Doh!
Note to me: Don't do this stuff when you are getting tired.
Mick

Zilog Inside! nascom.info for Nascom & Gemini
Preliminary MMBasic docs & my PCB designs
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 06:17pm 30 Nov 2023
Copy link to clipboard 
Print this post

  Quote  I have been dusting off my unit-tests in anticipation of your refactoring work and found this wrinkle which is invalid on the PicoMite (but valid on MMB4L):

> Dim sys.VERSION As Integer= 123456
Error : Variable type
> Dim sys.VERSION AS Integer = 123456
>


IMO it should be able to handle the "missing" space.


Tom, could you check your version of the function "checkstring". Have you added '=' as a valid terminator?
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4040
Posted: 06:54pm 30 Nov 2023
Copy link to clipboard 
Print this post

  matherp said  Tom, could you check your version of the function "checkstring". Have you added '=' as a valid terminator?


Apologies Peter, my mistake. I confused myself; when my test framework transmits tests to the PicoMite it crunches our "unnecessary" whitespace so I wasn't comparing like with like. MMB4L does display the same error, though if I had the time I would probably "fix" that as a bug.

I'll start looking at running tests on 5.08.08 tomorrow, there are other things I want to do this evening.

Best wishes,

Tom
Edited 2023-12-01 04:54 by thwill
Game*Mite, CMM2 Welcome Tape, Creaky old text adventures
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 07:03pm 30 Nov 2023
Copy link to clipboard 
Print this post

Tom

The fix is easy but I can't be sure of any side effects

unsigned char __not_in_flash_func(*checkstring)(unsigned char *p, unsigned char *tkn) {
   skipspace(p);                                           // skip leading spaces
   while(*tkn && (mytoupper(*tkn) == mytoupper(*p))) { tkn++; p++; }   // compare the strings
   if(*tkn == 0 && (*p == (unsigned char)' ' || *p == (unsigned char)',' || *p == (unsigned char)'\'' || *p == 0 || *p == (unsigned char)'('  || *p == (unsigned char)'=')) {
       skipspace(p);
       return p;                                                   // if successful return a pointer to the next non space character after the matched string
   }
   return NULL;                                                    // or NULL if not
}
 
thwill

Guru

Joined: 16/09/2019
Location: United Kingdom
Posts: 4040
Posted: 11:12am 01 Dec 2023
Copy link to clipboard 
Print this post

  matherp said  The fix is easy but I can't be sure of any side effects


Ack, you should probably leave it since so much else is in motion at the moment.

If you do rewrite it should probably use a switch on *p as (depending on the quality of the compiler optimisation) that is likely to be more performant.

Best wishes,

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

Joined: 11/12/2012
Location: United Kingdom
Posts: 9122
Posted: 12:17pm 01 Dec 2023
Copy link to clipboard 
Print this post

Tom

I have included it in b1 so fingers crossed

unsigned char __not_in_flash_func(*checkstring)(unsigned char *p, unsigned char *tkn) {
   skipspace(p);                                           // skip leading spaces
   while(*tkn && (mytoupper(*tkn) == mytoupper(*p))) { tkn++; p++; }   // compare the strings
//    if(*tkn == 0 && (*p == (unsigned char)' ' || *p == (unsigned char)',' || *p == (unsigned char)'\'' || *p == 0 || *p == (unsigned char)'('  || *p == (unsigned char)'=')) {
   if(*tkn == 0 && !namein[*p]){
       skipspace(p);
       return p;                                                   // if successful return a pointer to the next non space character after the matched string
   }
   return NULL;                                                    // or NULL if not
}

Edited 2023-12-01 22:17 by matherp
 
     Page 18 of 18    
Print this page


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

© JAQ Software 2024