| | whats up with lnp_init?
|
|
i have 2 threads (pthreads), 1 that sends and 1 that recieves on my PC. both of these runs in while(1) sentences. so.. i thought lnp_init was to be run only once, but unless i run the lnp_init routine each time i want to send a message nothing get (...) (22 years ago, 14-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | *** legOS new name - reminder ***
|
|
What is the better name for legOS? Is it osmOS or brickOS? Make up your mind and send your vote, either for brickOS or for osmOS, with the usual identification phrase, to legOS-namepoll@gmx.de The last day for your vote is Thursday, 18th. Regards, (...) (22 years ago, 14-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: RCX to RCX communication
|
|
(...) Mark, I was a TA(Teaching Assistant) for a course at Brown University that invovled building robots with the mindstorms kit. Go to the web site: (URL) and click on the link to take you to the normal page. Then go to the "LegOS" section fo the (...) (22 years ago, 14-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | 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)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
(...) According to config/h8300/h8300.h in the gcc sources, int is 32bit for the h8 cross compiler. I believe the reason mm_free_mem() returns an int is because the memory manager stores the size of each free block as size_t, which is defined in (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
(...) int is defined as the natural width of the processor, which on a 16-bit processor is 16 bits. longs are 64 bits on some machines as well, so you can't assume it is always 32 bits -- if your code cares, use sizeof. (...) 32-bit math on the H8 (...) (22 years ago, 12-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
That is very interesting Jason. It is interesting that mm_free_mem() returns a 16bit value using a 32bit return code. Both int and long are 32bit value on most computers/compilers these days; short would be a 16bit value; and char would be an 8bit (...) (22 years ago, 11-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
While the declaration for mm_free_mem is int mm_free_mem(void) The fact is that the RCX has only 32K of memory available. 32K in hex is 0x8000... there's never a need for more than 4 digits in hex. Looking at key_handler() in kernel/program.c (the (...) (22 years ago, 11-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: HOWTO Demo.c
|
|
Brilliant! Brilliant! It works! Many Thanks to Micheal Obenland and also to Steve Hassenplug Best Regards Shehryar "Michael Obenland" <obenland@t-online.de> wrote in message news:Gz1xAM.Inn@lugnet.com... (...) some (...) ---...--- (...) ---...--- (...) (22 years ago, 11-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
Albert Huang, Sorry for the confusion. "most significant" = upper 16 bits and "least significant" = lower 16 bits (the free memory is a 32 bit value). If you write the values out, you will get the 32 bit value (both values are hex) ... for example: (...) (22 years ago, 11-Jul-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: anyone know how to check free space on RCX?
|
|
(...) v0.2.6) When you press the View button (with no program running) LegOS will (...) Joseph, what do you mean by most significant / least significant? I'm under the impression that those two calls just display the same value, in decimal first and (...) (22 years ago, 11-Jul-02, to lugnet.robotics.rcx.legos)
|