Problem making and using SimpleIDE library
twm47099
Posts: 867
I used the instructions in the "Propeller C Library Studies" learn.parallax.com/tutorials/language/propeller-c/propeller-c-library-studies to build a library from the servo360 driver that I had ported from spin to C (posted here).
forums.parallax.com/discussion/comment/1425301/#Comment_1425301
When running the "test harness" program from the Simple Libraries/My Libraries/libservo360a folder, I get errors during "building" until I use the "open Tab to project" command in the "project" menu and open the "servo360a.c" and "FourPly.spin" files that are located in the folder. (The c file contains the library functions, and the spin file has the PASM driver).
I had previously built another library that worked well (libspiasm) as well as the ones in the tutorial, and as long as I had the relevant ".h" file in an #include statement in the program that uses the library functions, they worked without having to manually add the files to the project.
Since SimpleIDE doesn't allow opening tabs of files that exist in folders that are different than the one used for the project, that would require copying the library files to the folder containing the project.
I've attached a zip that contains the library files and the CMM folder that should contain the compiled library. The test harness file is "libservo360driver.side". "servo360.c" is the file with the library functions and "servo360.h" is the header file.
I am using SimpleIDE version 1.1 although I also tried it on an earlier version (1.02.RC2).
Any ideas?
Thanks
Tom
forums.parallax.com/discussion/comment/1425301/#Comment_1425301
When running the "test harness" program from the Simple Libraries/My Libraries/libservo360a folder, I get errors during "building" until I use the "open Tab to project" command in the "project" menu and open the "servo360a.c" and "FourPly.spin" files that are located in the folder. (The c file contains the library functions, and the spin file has the PASM driver).
I had previously built another library that worked well (libspiasm) as well as the ones in the tutorial, and as long as I had the relevant ".h" file in an #include statement in the program that uses the library functions, they worked without having to manually add the files to the project.
Since SimpleIDE doesn't allow opening tabs of files that exist in folders that are different than the one used for the project, that would require copying the library files to the folder containing the project.
I've attached a zip that contains the library files and the CMM folder that should contain the compiled library. The test harness file is "libservo360driver.side". "servo360.c" is the file with the library functions and "servo360.h" is the header file.
I am using SimpleIDE version 1.1 although I also tried it on an earlier version (1.02.RC2).
Any ideas?
Thanks
Tom
Comments
I also tried to "Add Simple Library" to the project using the button in the Project menu. I clicked on the "My Libraries/libservo360a" folder and got the following error: "CMM Memory Model Library not found in (and it shows the path to My Libraries/libservo360a). I have attached the file listing from the libservo360a/cmm folder which has library files.
I also tried "Add Simple Library" to a library I had created using SimpleIDE version 0.9.45 and that added without an error.
Based on this I question if there is a problem with the current version of Simple IDE creating a project library even when that box is checked in the project manager linker tab. The files are created in the Memory Model folder, but they aren't then recognized as libraries.
There was only a problem with my current memory -- see posts below.
Help
Thanks
Tom
Can't help much with that, but -lservo360a expects a library file named libservo360a.a and in your directory listing you don't have that file, you have libservo360driver.a, you need to change the library name so it compiles to libservo360a.a.
Thank you. I re-saved the project that generated the library as "libservo360a.side" and re built the library. It worked.
I need to make better notes when I get something to work.
Thanks again,
Tom