To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.nqcOpen lugnet.robotics.rcx.nqc in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / NQC / 181 (-10)
  Re: NQC 2.0 and some math questions
 
(...) Yes, |= is atomic. At the bytecode level you always OR from some source into a destination variable. Dave (25 years ago, 2-Oct-99, to lugnet.robotics.rcx.nqc)
 
  Re: NQC 2.0 and some math questions
 
(...) This only works if |= is atomic, though. Is it? Cheers, Ben. -- (URL) grandfather once told me that there are two kinds of people: those who work and those who take the credit. He told me to try to be in the first group; there was less (...) (25 years ago, 2-Oct-99, to lugnet.robotics.rcx.nqc)
 
  Re: NQC 2.0 and some math questions
 
Your proposed solution is susceptible to the "lockstep starvation" problem. Lockstep starvation happens when two tasks try to get the lock at the same time and execute the same code in lock step, like so: task 1: lock |= 2; task 2: lock |= 4; task (...) (25 years ago, 2-Oct-99, to lugnet.robotics.rcx.nqc)
 
  Re: Download problem
 
(...) I forgot to say I cleared the memory before my attempts, and checked it was actually cleared using the Tools -> Memory Map option. The problem is still there. In lugnet.robotics.rcx.nqc, Dave Baum writes: (...) No problem with the source. Just (...) (25 years ago, 2-Oct-99, to lugnet.robotics.rcx.nqc)
 
  Re: Download problem
 
(...) you don't want to send source, you can always compile it and send the binary... nqc -Ofoo.rcx foo.nqc Another alternative would be to download it in verbose mode and send me the log... nqc -v -d foo.nqc >log My email is dbaum@enteract.com Dave (...) (25 years ago, 2-Oct-99, to lugnet.robotics.rcx.nqc)
 
  Re: NQC 2.0 and some math questions
 
(...) I'm going from memory here, so I may miss a detail... int lock; #define TASK_BIT(task_num) (1 << task_num) void acquire_lock(int task_num) { while(1) { // wait for lock to be clear while(lock); // try to own it lock |= TASK_BIT(task_num); // (...) (25 years ago, 2-Oct-99, to lugnet.robotics.rcx.nqc)
 
  Re: Download problem
 
Hi Mario, I've encountered some weird problems like this too. I think I was able to fix things up by erasing the memory. In RcxCC, use the Tools -> Clear Memory option. Please let us know if that works. Jonathan (...) (25 years ago, 1-Oct-99, to lugnet.robotics.rcx.nqc)
 
  Download problem
 
Hi Dave and everybody, I have a strange problem with an NQC program. It's something Marco Beri and I are preparing for the Mindfest. The program is rather large if compared to the average NQC programs: about 240 lines of code with large inline (...) (25 years ago, 1-Oct-99, to lugnet.robotics.rcx.nqc)
 
  Re: NQC 2.0 and some math questions
 
(...) There is a way to do it even if you have no test and set, though I can't remember it off the top of my head, and it is slow. Don't see how using bitflags helps? Cheers, Ben. -- (URL) grandfather once told me that there are two kinds of people: (...) (25 years ago, 1-Oct-99, to lugnet.robotics.rcx.nqc)
 
  Re: NQC 2.0 and some math questions
 
On semaphores... There was a lot of discussion a long time ago on whether NQC should use semaphores to protect temp variables between tasks. There isn't an atomic test-and-set bytecode, so the only way I know of implementing sempaphore would be to (...) (25 years ago, 1-Oct-99, to lugnet.robotics.rcx.nqc)


Next Page:  5 more | 10 more | 20 more

Redisplay Messages:  All | Compact

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR