Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 20:09 20 Apr 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 : Bug Tracking

Author Message
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 04:17am 04 Feb 2021
Copy link to clipboard 
Print this post

Up to now I have been using a service called Lean Tracking to record and track bugs in MMBasic and the Micromites.  It was a great service... free, worked well and all the data was held in the cloud.

Then, a few weeks ago, they just turned it off.  Everything, the data, domain name, the whole system just vanished.  What got me was that they did not provide any warning - they just flipped the switch and walked away.

There is a big lesson here; don't trust anything that is free and any data held in the cloud can vanish in an instant.  Lesson learnt I have now built my own bug tracker with the data held on my own NAS which is fully backed up.

Fortunately I had downloaded a backup of the data last year so I have most of it but I have lost some of the bugs reported since then.  So, if you have reported a bug since June 2020 could you please let me know (a pointer to the original posting will suffice).  From memory there have only been a 2 or 3 reported but I hate to think that even one has escaped.

Below is the list of bugs that I do know of and should be fixed in the next release:
- Bug that causes a STATIC declaration to sometimes fail with "Error: Conflicting variable type" or "Error: Out of memory".
- An error when an array with eight dimensions is declared.
- A bug that causes GUI BITMAP to incorrectly display a bitmap with uneven width and/or height.
- A bug that can cause SELECT CASE to fail with a string select value.
- Closing a PWM channel sometimes does not work correctly.
- A problem in MMBasic recursive FOR loops (this may not be fixable)
- Possible errors in an If statement with bitwise AND
- Problem with SELECT CASE reported by twill
- Static variables in interrupt routines may clash with same named vars in other interrupt routines.

Geoff
Edited 2021-02-04 15:28 by Geoffg
Geoff Graham - http://geoffg.net
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8569
Posted: 07:55am 04 Feb 2021
Copy link to clipboard 
Print this post

Can't read - ignore
Edited 2021-02-04 18:22 by matherp
 
Paul_L
Guru

Joined: 03/03/2016
Location: United States
Posts: 769
Posted: 10:17pm 04 Feb 2021
Copy link to clipboard 
Print this post

Hi Geoffg,

Weren't you the guy who wondered if anyone would actually use a FoxPro workalike on the CMM2 when Lizby and I were proposing such a monster?????

It would be a great tool to have to keep track of these bugs.

We stopped planning it when almost no interest appeared.

You are completely correct when you say don't trust free programs and free cloud data storage.

I don't even trust the cloud data storage I pay for.

I do trust that 8 TB USB 3.0 disk which is plugged into one of my mesh routers.

I'm thinking about adding a second 8 TB disk plugged into another mesh node and running robocopy daily to keep the two drives more or less identical.

I have been know to wear both a belt and suspenders (whoops ... sorry braces   ).

Paul in NY
 
Geoffg

Guru

Joined: 06/06/2011
Location: Australia
Posts: 3165
Posted: 10:22pm 04 Feb 2021
Copy link to clipboard 
Print this post

  Paul_L said  Weren't you the guy who wondered if anyone would actually use a FoxPro workalike on the CMM2 when Lizby and I were proposing such a monster?????

Sorry, you must be thinking of someone else.
Geoff Graham - http://geoffg.net
 
RetroJoe

Senior Member

Joined: 06/08/2020
Location: Canada
Posts: 290
Posted: 01:08pm 05 Feb 2021
Copy link to clipboard 
Print this post

Paul, the idea of an old-school RDBMS like DBase or FoxPro is quite intriguing. It would be even more intriguing if DDL/DML support for an ".mdb" (Maximite DB) file format was built into MMBasic, but I imagine the existing support for random access files is adequate for most use cases that require structured data persisted to disk.
Edited 2021-02-06 01:13 by RetroJoe
Enjoy Every Sandwich / Joe P.
 
Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 3496
Posted: 11:58am 08 Mar 2021
Copy link to clipboard 
Print this post

Hi Geoff,

I am not sure if your bug fixing data lost also includes CMM1 bugs?

One of the things I ran into in my last effort for the 10 liner challenge is that the NEXT and LOOP commands must be at the beginning of a new line, where at the associated FOR and DO can be in the middle of a multi-statement line.

Not sure if you ever plan to release a new version of MMBasic for the maximite and color maximite, this may be addressed.

Example code:
Try moving the LOOP to the end of the previous line. Similar for the NEXT j,i.

s=13:Dim f(s,s),t(s,s):Do:Mode 4:z=9:Read x,y:For i=1To s:Read a$:l=Val("&h"+a$)
For j=1To s:w=2^((j-1)*2):m=3*w:f(i,j)=(l And m)/w:If f(i,j)<2Then t(i,j)=f(i,j)
Next j,i:Print @(99,10)"TLS":f(x,y)=4:Do:If a$="r"Then:Restore:Exit Do:EndIf:d=1
For i=1To s:For j=1To s:k=f(i,j):If k=1Then:d=0:EndIf:o=120+z*(i-6):p=100+z*(j-6)
Line(o,p)-(o+z-2,p+z-2),3And k,BF:If k=4Then Circle(o+z/2-1,p+z/2-1),3,6,,F:EndIf
Next j,i:If d=1Then:Exit Do:EndIf:Do:a$=Inkey$:Loop While a$="":n=3And Asc(a$)
If n<2Then:b=0:c=n*2-1:Else:b=n*2-5:c=0:EndIf:e=x+b:g=y+c:If f(e,g)=2Then
If f(e+b,g+c)=<1Then:f(e,g)=0+t(e,g):f(e+b,g+c)=2:Else:b=0:c=0:EndIf
ElseIf f(e,g)=3Then:b=0:c=0:EndIf:f(x,y)=t(x,y):x=x+b:y=y+c:f(x,y)=4
Loop:Loop:Data 2,2,FFFF,D5F3,CBC3,C023,C3CF,EC0F,C0FF,FFFF,0,0,0,0,0

Edited 2021-03-08 21:59 by Volhout
PicomiteVGA PETSCII ROBOTS
 
epsilon

Senior Member

Joined: 30/07/2020
Location: Belgium
Posts: 255
Posted: 03:00pm 08 Mar 2021
Copy link to clipboard 
Print this post

  Geoffg said  - A problem in MMBasic recursive FOR loops (this may not be fixable)


I actually can't get WHILE loops to work with recursive functions and use FOR loops as a workaround:


SUB recurseLoop(n%)
 IF n%=0 THEN
   EXIT SUB
 ENDIF

 LOCAL ii%=0

 'DO WHILE ii%<4 <-- This results in LOOP without a matching DO error.
 FOR ii%= 0 TO 3
   PRINT "*";
   recurseLoop n%-1
 '  INC ii%
 NEXT ii% 'LOOP
END SUB

recurseLoop 3

END


Regarding your experience with free cloud software, I once had an IOT project fall through, after launch, because the provider (Particle at the time), simply removed from they cloud API a key feature I relied on without notice. There was no workaround. I would have had to set up (and pay for) a bunch of cloud infrastructure myself to keep the project going.
Epsilon CMM2 projects
 
Print this page


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

© JAQ Software 2024