| | RCX to RCX communication
|
|
I have studied the sources on the WEB for LNP but have not found any examples of C or C++ code for RCX to RCX communication. I have two RCXs and would like to build something that takes advantage of 6 inputs and 6 outputs. Do you have a sample you (...) (22 years ago, 14-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: detecting memory leaks
|
|
In case anyone attempts to use the mm_defrag() posted previously... you will need the following update to mm_try_join() //! check for free blocks after this one and join them if possible /* \param ptr pointer to size field of current block \return (...) (22 years ago, 13-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: detecting memory leaks
|
|
Jason, Excellent points! I like where this is going. "Jason Clark" wrote <snip> (...) See below. (...) then (...) Yes, it uses mm_try_join() --- here it is: //! defragment free blocks /*! use mm_try_join on each free block of memory */ void (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: detecting memory leaks
|
|
(...) Please, post. (...) I'm guessing you defrag using mm_try_join()? malloc() uses this to defrag the beginning of the pool until it finds a big enough block (which can then be split again if its too big); Defragging during idle would save this (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
(...) Thanks for conducting the test... being 200+ miles away from my RCX this was bugging me :). My sources (gcc-2.95.2) have the same #define... but with the following about 120 lines earlier: /* Make int's 32 bits. */ #define TARGET_INT32 (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
John A. Tamplin, Jason Clark, Jochen Hoenicke and Michael J Ash: Thank you all for addressing these issues! It all make sense after reading the preceeding messages. I appologize for causing confusion. I am glad, however, to get it straight. ??So (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | detecting memory leaks
|
|
In the thread "anyone know how to check free space on RCX?" the issue of checking for memory leaks was raised. I wanted to mention that I have some code that may help in that area. I wrote a function for the memory manager called mm_defrag() It (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
(...) The header is ok, but int is 2 bytes = 16 bit. You can check this with this highly optimized program: #include <conio.h> int main(int argc, char *argv[]) { lcd_int( sizeof( int ) ); for(;;) ; return 0; } And in the kernel sources, mm.c says (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
(...) This can't be right. I'm about 99% sure that all of the ints I've used with my legOS programs have been 2 bytes. When using LNP to send RCX ints to a PC, for example, you have to use short on the PC end of things to make it all work right. (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
(...) My sources (gcc-3.0) say: #define INT_TYPE_SIZE (TARGET_INT32 ? 32 : 16) A short experiment revealed that sizeof(short)=sizeof(int)=2, sizeof(long)=4. So int is normally 16bit. Only with the switch "-mint32" I get 32 bit ints. This is with a (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|