| | 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)
|
|
| | NQC problem...driving me insane!
|
|
Hey all, I know I must be doing something very simple wrong here - but I can't for the life of me figure it out. What I'm trying to do: Have a light sensor pointed at a surface. Pass that value off to a variable (the variable then contains the (...) (20 years ago, 4-Jul-04, to lugnet.robotics.rcx.nqc, lugnet.org.ca.rtltoronto)
|
|
| | Re: Straight moving with only one rotation sensor
|
|
I tried to include the LDraw file but I had problems posting. (URL) (20 years ago, 12-Jun-04, to lugnet.robotics.rcx.nqc)
|
|
| | Re: Straight moving with only one rotation sensor
|
|
I tried to include the LDraw file but I had problems posting. (URL) (20 years ago, 12-Jun-04, to lugnet.robotics.rcx.nqc)
|
|
| | Re: Straight moving with only one rotation sensor
|
|
I did this in the past (since disassembled the bot) and found it to be quite reliable; except on slippery surfaces and carpet. :) The trick that I employed was to gear-up the rotation sensor. This causes the rotation sensor to detect even a slight (...) (20 years ago, 11-Jun-04, to lugnet.robotics.rcx.nqc)
|
|
| | Re: Straight moving with only one rotation sensor
|
|
Have you come across the adder/subtractor drive? Although it make the gear chain slightly more complex - it may mean you can leave out the sensor entirely. The drive has two inputs (A and B), and two outputs - one being A+B, and the other A-B. So if (...) (20 years ago, 10-Jun-04, to lugnet.robotics.rcx.nqc)
|