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: AustraliaPosts: 3165 |
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 KingdomPosts: 8569 |
Can't read - ignore Edited 2021-02-04 18:22 by matherp |
||||
Paul_L Guru Joined: 03/03/2016 Location: United StatesPosts: 769 |
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: AustraliaPosts: 3165 |
Sorry, you must be thinking of someone else. Geoff Graham - http://geoffg.net |
||||
RetroJoe Senior Member Joined: 06/08/2020 Location: CanadaPosts: 290 |
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: NetherlandsPosts: 3496 |
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: BelgiumPosts: 255 |
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 |