|
| | Re: NQC preprocessor behavior - constants evaluated?
|
| Code listing of Untitled1: *** Var 47 = x *** Var 46 = y *** Task 0 = main 000 pwr ABC, 7 13 07 02 07 004 dir ABC, Fwd e1 87 006 setv var[47], 150 14 2f 02 96 00 011 setv var[46], 5 14 2e 02 05 00 016 mulv var[46], var[47] 54 2e 00 2f 00 Total size: (...) (20 years ago, 18-Aug-04, to lugnet.robotics.rcx.nqc)
| | | | Re: NQC preprocessor behavior - constants evaluated?
|
| (...) The preprocessor only evaluates expressions if they are used in a conditional preprocessor statement (i.e. #if), otherwise they are simply treated as a series of tokens for the compiler to deal with. However, the compiler does evaluate (...) (20 years ago, 17-Aug-04, to lugnet.robotics.rcx.nqc)
| | | | NQC preprocessor behavior - constants evaluated?
|
| Pardon a basic, low-level question, but I'm trying to minimize memory & execution time. Does the NQC preprocessor precalculate constant expressions before the compile pass? For instance: #define CONST 100 #define HALF CONST/2 task main() { int x,y; (...) (20 years ago, 16-Aug-04, to lugnet.robotics.rcx.nqc)
| | | | Re: NQC problem...driving me insane!
|
| (...) You should check to make sure your light sensor is in fact changing more than 5 counts. Start by changing the above code to 2 or 3. I don't recall with NQC, but with some languages (BrickOS) the values are backwards, so you may need to check (...) (20 years ago, 5-Jul-04, to lugnet.robotics.rcx.nqc, lugnet.org.ca.rtltoronto)
| | | | Re: NQC problem...driving me insane!
|
| (...) Well, actually, that code works fine (running MacNQC, a fairly recent version, with 2.0 firmware). One thing to check, code-wise, is to display SENSOR_1 on the LCD, and see what the numbers are (is it set to raw mode? Is the sensor bad (I've (...) (20 years ago, 4-Jul-04, to lugnet.robotics.rcx.nqc, lugnet.org.ca.rtltoronto)
| |