Documentation, broken link

basically miscellaneous, if it doesn't fit another sub-forum enter it here, we might even promote it to its own sub-forum
Post Reply
olzeke51
Posts: 414
Joined: Sat May 17, 2014 4:22 pm
Location: South Carolina

Documentation, broken link

Post by olzeke51 »

possible inclusion in the next update of the documentation
*
ARMBasic help
search tab -- 'wait' / display the 'WAIT' / the See also link for SLEEP is broken, TIMER is okay
*
BTW there is no SLEEP in the "Alphabetical KEYWORD" under the Contents tab / "The Language"
nor the Index tab
*
the PDF documentation -- I did a search on "sleep" after not finding it in the "alphabetical KEYWORDs page
and on the 'END' page the See Also link for SLEEP takes me to the SELECT (CASE) page !!!!
SLEEP is listed on the more comprehensive "Index" page
Last edited by olzeke51 on Sun Jul 20, 2014 4:10 am, edited 1 time in total.



basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: Documentation broken link

Post by basicchip »

I am still offering bounties for finding errors in the help documents in BASIC.

Though PDF only gets updated periodically, but I will get these in soon.

olzeke51
Posts: 414
Joined: Sat May 17, 2014 4:22 pm
Location: South Carolina

Re: Documentation broken link

Post by olzeke51 »

BOUNTY ON !!! whoooo hoo

olzeke51
Posts: 414
Joined: Sat May 17, 2014 4:22 pm
Location: South Carolina

Re: Documentation broken link

Post by olzeke51 »

several more documentation issues
***** the code for explaining HEX fails
Welcome to ARMbasic Kernel[8.33a] with Floating Point Copyright 2014, Coridium Corp.
for LPC800 family

DIM text(10) // from HEX
text=HEX(4096) // from HEX
ERROR 2: expected element(expression), found =HEX(4096)
DIM stuff$(10) // from DIM
stuff$=HEX(4096) // it works

***** IT ALso appears that HEX doesn't work in 'debugging mode" - it isn't mentioned in "debugging"
'
*********
*********************** broken link to your site - online help
search tab -- "preprocessor"
"see this 90+ page document" from the Free Software......
this doesn't exist on your site ---> http://www.coridium.us/files/rhel-cpp-en.pdf
it takes me to a Coridium search page
your search engine reports "Latest search index update: 2012-09-28 18:14"
when I tried to search for it
'
*************************
online documentation -- File Operations - most of the Functions in their respective
"See Also" refer to themselves and leave out FILEREADDIR link
(it almost looks like a cut and paste the same info into all 6 WORDS)

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: Documentation broken link

Post by basicchip »

That should be

DIM text(10) as string

Otherwise you get the error

The File entrees have been update.

And not sure what happened to the pre-processor document, I put another copy out there

I don't understand your comment about HEX in debugging...

Keep it up, I can send you a VDRIVE if you plan to use it (file commands require about 10K of space so they won't fit in the smaller parts).

olzeke51
Posts: 414
Joined: Sat May 17, 2014 4:22 pm
Location: South Carolina

Re: Documentation broken link

Post by olzeke51 »

OFFLINE - help file - Search "HEX" - doesn't specify the " as string" in the example - online is okay
re: HEX
BOTH make this statement in the HEX description:
This may also be used during debugging to change the default base to Hexadecimal, do this by typing just HEX on the line, opposite of DEC when used this way.
'''' if that is true, then in the Search -"debugging" page - there is no mention of HEX/DEC
'
I tried to use that (HEX) when I was manually typing in a short program and got error message - it was expecting something ....
DEC reports a different kind of error - like an undefined variable
[perhaps this has been replaced by your "Tools tab - Variables' window popup - both values are shown]

****************** BTW
in BT - Help tab - 'ARMbasic help' calls up a local copy - the .chm file;
it seems any of the other options on the Help tab go to the WEB
'
and that brings up more errors in the .chm file that don't appear on the web version
should I PM you or just wait for a new .chm file?
*****************
re: VDRIVE - I'll chew on that
re: file commands [10K]- so it sounds like each chip series (or board/configuration) has its own firmware ??
'
***********
re: preprocessor link to 90+ page document -- it did find the document this time
the OFFLINE page& link call up IE and not my default browser!!!! irritating - and my default browser was already open!!
****
well - gotta go to work - put the "fun" aside for now

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: Documentation broken link

Post by basicchip »

HEX DEC use to be available for commands when a program STOPs, but now everything there is in hexadecimal.

The CHM file is installed with the other BASICtools files so that version is whatever it was at the time. Online pages of that file are updated individually. I will put the latest CHM file in www.coridium.us/files/ARMbasic.chm

And yes firmware is different for all the CPUs, and there use to be differences for newer boards, but we no longer remap IOs so that is not needed anymore

olzeke51
Posts: 414
Joined: Sat May 17, 2014 4:22 pm
Location: South Carolina

Re: Documentation broken link

Post by olzeke51 »

the new WAITMICRO word is not referenced on the TIMER page (like in an earlier version of the Help) -- online version
a person would have to know to "Search" for the word, I only see it in the index. on the "Contents tab" NOT the "Index tab"
?? is there a reason the "alphabetical KEYWORDs' don't list all keywords
'
also the example for WAITMICRO needs to be polished up:
Example
'
Wiggle a line at 100 KHz.
IOUT(5)= 0 //?? undefined label - error message -- should be a DIR(5)=1 [ or IO(5)=0]
WHILE 1
OUT(5)= 0
WAITMICRO(50)
OUT(5)= 0 // i don't see the wiggle/toggle
WAITMICRO(50)
LOOP

olzeke51
Posts: 414
Joined: Sat May 17, 2014 4:22 pm
Location: South Carolina

Re: Documentation, broken link

Post by olzeke51 »

In debugging an I2Cin routine, I have come across some (online) document
errors/confusion/etc. in the help file - mainly via the 'search' tab
*****some simple test programs will/can further clarify some of these,
*****but then the DIY, 1st timers have to do more than cut/paste
*****possibly causing frustration with the product !!
**a)on the DIM page -- 'as BYTE" is not in the declaration listing at top [it is shown in the example block- though]
**b)FUNCTION page - 3rd statement block under Description: states this :
"Parameters are assumed to be called BYVAL if not specified.
In BYVAL calls, a copy of the parameter is passed to the Function.
INTEGER, SINGLE or STRING parameters may be called BYREF which means
a pointer to the parameter is passed, and changes to that copy of the
parameter can be made by code inside the function,
they do not affect the value
."
the confusion is in the BYREF area - a pointer is passed -- so there is no
"and changes to that copy" AND they sure look like they "affect the value".
It would seem that the latter part of the statement belongs to the BYVAL
sentence. a pointer wouldn't have a copy (of the parameter) - in my
understanding of a pointer.--[the SUB page puts it correctly - IMHO]
**c)on the Main Function page - under BASIC compatibility it states that
"Main Function is not required" BUT if there are ANY Function(s) in the
program, they have to be declared BEFORE Main: -- according to the
FUNCTION page under program structure. [It is hard to imagine a program
without a FUNCTION in it.) ALSO see the statements in '#include' page
**d) BYVAL page - "except for arrays" last words of the Description so- what happens to arrays?????
**e) PARAMARRAY page - your comment in the Forum article "Compiler Updates"
sheds a little more light on the feature - IMO you might want to copy the
description in the Forum article to the PARAMARRAY help page, for an example block [but make sure z and zz are correct]
*HOW does element (15) get loaded , if you only pass 6 variables ?? It
sounds like if 'PARAMARRAY' is declared - space is allocated for all (0)to(15)
**f) not sure why PARAMARRAY showed up in the online help - search tab "main:" word search
**g) on the "label:" page -- IMO there should be an "END" displayed before the sayHello: routine
[otherwise a fault is generated when the 'RETURN' is encountered - no corresponding CALL/GOSUB/implied CALL
**h) on the GOSUB/CALL page - Syntax :you indicate that I can use just
the name of the 'function/sub' -- this will generate 2 error messages:(and minor irritation)
1)
sayHello
-ERROR C:/Coridium/Basic/BASIClib/test_label.bas: 7: Expected lvalue:
variable, pointer, or register, found end of line

2)
sub sayHello:
-ERROR C:/Coridium/Basic/BASIClib/test_label.bas: 16: Duplicate Name,
found sayHello:

unless there is a SUB with that name [with a ENDSUB] AND the SUB is before the Main: declaration
if you 'GOSUB label' then the label: routine can occur after an 'END' statement which the example block shows
but you are using a 'GOSUB' not just the label name
**i GOSUB/CALL page - "Always use RETURN to exit a GOSUB should refer to "to exit a CALL" -- you can't replace
an ENDSUB with a RETURN, and a RETURN, ENDSUB seems redundant-but works.

basicchip
Posts: 1090
Joined: Fri Oct 19, 2012 2:39 am
Location: Weeki Watchee, FL
Contact:

Re: Documentation, broken link

Post by basicchip »

again thanks for reporting (updates are on the web now)--

a- fixed
b- copied and expanded the SUB description
c- for any large program, yes a MAIN: is almost mandatory, though I often write short programs without declaring parameters or have any SUB/FUNCTIONs. You could also write in the old BASIC style with all GOTOs and GOSUB/labels
d- arrays (except STRING) have to be passed BYREF. I wasn't sure about this myself, so I had to try it
e- updated, yes it always allocates 16 variables, those are global and may not be nested (ie a SUB/FUNCTION with a PARAMARRAY can not call another SUB/FUNCTION with a PARAMARRAY -- and yes currently the variables dump in BASICtools does not show these.
f- indexing is somewhat "controllable" though maybe we just don't know enough about that tool
g- OK
h- you are mixing old BASIC and new BASIC syntax. In the original BASIC there were no SUB or FUNCTIONs so everything was label: with GOTO or GOSUB. In the old style you HAVE to use GOTO or GOSUB to go or call there. A SUB declaration is similar to a label declaration but SUB name: is NOT valid
i- I did some edits, but again you are talking about old and new style BASIC, and we try to support both.

Post Reply