Follow the blinky light.

I’ve been surfing around looking  the net looking for some idea’s for my radial arm saw reprap project.     Initially,  I was thinking that a belt drive would be the way to go, but than I thought it would be interesting us a rack a pinion.     It seems like racks and pinions arrangements are a bit pricey so that got me thinking about making a rack with my cnc metal shaper project.  It would be nice to have a clapper that could have a fixed automatic downfeed to it so I it would be easy to make a rack.   Something basically that could do a simple automatic down feed to a fixed depth.

I have functional Ammco shaper as well as a a carcass of a parted out Ammco metal shaper I picked up cheap  off of ebay.   I want keep one shaper classic so to speak and basically pimp out the carcass with cnc.

The plan is to basically to machine a new clapper assembly specifically to mount a stepper motor.    I figured this would be a project that I could mount on my classic shaper and get use out of, while I get the rest of pimpy made.   I probably should be do this out of cast iron, but I’m using steel that I have on hand instead… (I hope I don’t regret that).  The first piece that I’m working on machining is the dovetail assembly that fits into the ram.     I got a piece of 4″ round and offset it in my 4 jaw chuck.   It was a interesting experience since my lathe isn’t bolt to the floor.  The vibration from the imbalance was causing it to walk.     I was getting pretty good surface finish with carbide but it seems like my poor logan is groaning a bit with the increased cutting forces.  So… I switched back HSS using my diamond tool holder.  I’m experience some pretty bad tearing with that.  I’m still roughing things out on the first side (which fits into the ram).   I basically need a 1.125 tight fitting diameter.    I don’t know if I can achieve that turning.  I did a quick check for taper and it seems like lathe is cutting straight, so I’m wondering if I should go to size with tool post grinder.   Hopefully, I can grind it straight enough that I wound have to do this from centers…

In the mean time, the thing that got me started down this path,  a rack and pinion for my radial arm saw reprap has presented itself with another solution.   I’ve seen people making rack drives from threaded rod.    In researching this I across some posts from Mike Everman on making a fixture for machining the pinion racks.    This guy has done a bunch of things that I find rather interesting….  Here are some links…

Fixture for makeing a gear to mesh with threaded rod.
http://www.cnczone.com/forums/904195-post18.html

Very interesting belt drive application
http://www.cnczone.com/forums/463232-post9.html

Differential Roller Screw
http://www.youtube.com/watch?v=iPkoGug-oC0

Servo Nut Drive.
http://www.youtube.com/watch?v=9WPmIYosonI

oldham coupling animation.
http://www.youtube.com/watch?v=acZ5_UmUIqE

Eddy Current Brake
http://www.youtube.com/watch?v=68nmt3dfwik

Anyway  I go this threaded rod rack route, I have some acme rod from a scrapped garage door opener that would be fun to use.   Using a fixture/tap solution unfortunately wouldn’t work.

In that cnczone there’s an interesting link on threading in the lathe.  http://www.bedair.org/Worm/Worm.html  At some point this would be fun to try.  Anyway… rapidly running out of christmas vacation ;(

One other very interesting post I’ve run across was this:http://blog.ponoko.com/2010/11/16/ten-rules-for-maker-businesses-by-wireds-chris-anderson-%E2%80%94-rule-1/

 

 

Installing Qt SDK 1.14 on ubuntu 10.04

Ok… The wife would like me to write her a small app for her N8 christmas.(Ok… how hard can this be??)

I found the the SDK for Nokia on this link: http://www.developer.nokia.com/info/sw.nokia.com/id/da8df288-e615-443d-be5c-00c8a72435f8/Qt_SDK.html

Hm.. The site does not recogize that I’m using Linux and Pops up download version for Windows 32/62 as the default… (sloppy) (I chose the Linux 32 (offline)..  (Why this one as oppose to the Linux 32(online)… Seems like a good idea at this point.

Alright…  Yah.. Think they would have an obvious link to tell you what do to as far as the next step… But Nothing is really obvious on this page or any of the immediate links…. Googling turned this up.

http://www.developer.nokia.com/Community/Discussion/showthread.php?226359-Problem-installing-Qt-SDK-1.1.2-on-Ubuntu-32-bit

Ok… so I moved the file my download folder to my main user folder
and if you didn’t read that link your first inclination is to do something like this.

jonas@jonas5:~$ ./Qt_SDK_Lin32_offline_v1_1_4_en.run
bash: ./Qt_SDK_Lin32_offline_v1_1_4_en.run: Permission denied
jonas@jonas5:~$ sudo ./Qt_SDK_Lin32_offline_v1_1_4_en.run
sudo: ./Qt_SDK_Lin32_offline_v1_1_4_en.run: command not found
jonas@jonas5:~$

Whats going on here is an issue with the permissions…

jonas@jonas5:~$ ls -F Q* -l
-rw-r–r– 1 jonas jonas 1401234725 2011-12-20 01:15 Qt_SDK_Lin32_offline_v1_1_4_en.run

As the owner I can only read and write… I need to be able to execute also.

jonas@jonas5:~$ chmod u+x Qt_SDK_Lin32_offline_v1_1_4_en.run
jonas@jonas5:~$ ls -F Q* -l
-rwxr–r– 1 jonas jonas 1401234725 2011-12-20 01:15 Qt_SDK_Lin32_offline_v1_1_4_en.run*
jonas@jonas5:~$
jonas@jonas5:~$ ./Qt_SDK_Lin32_offline_v1_1_4_en.run

Try this and it should bring you joy.

If you want to bone up on linux file permissions heres a nice Link

This should be the first screen that pops up.

 

After clicking next I get this… (I wonder if I would have just ran it from the download directory if that path would have been correct or not).. I’m not that curious..

 

Ok… First Big… Decision here… Do I go custom or Default..  I’m half tempted to just go into the custom settings and click everything on.  But… for this go around, I’m just going to go with default.

Ok… Next you get the T&C and you need to accept them.

 

The next screen has the install button as well as a show details… If you press the show details this is what you get.

Selected Component(s) without Dependencies

  • com.nokia.ndk
  • com.nokia.ndk.documentation
  • com.nokia.ndk.documentation.harmattan
  • com.nokia.ndk.documentation.qmake
  • com.nokia.ndk.documentation.nokiaqtsdk
  • com.nokia.ndk.documentation.simulator
  • com.nokia.ndk.documentation.qtcreator
  • com.nokia.ndk.documentation.qtmobility
  • com.nokia.ndk.documentation.qt
  • com.nokia.ndk.documentation.symbian
  • com.nokia.ndk.api
  • com.nokia.ndk.api.qtmobility.examples
  • com.nokia.ndk.api.qtcomponents
  • com.nokia.ndk.api.qtcomponents.documentation
  • com.nokia.ndk.api.qtcomponents.examples
  • com.nokia.ndk.api.qtcomponents.simulator
  • com.nokia.ndk.api.qtcomponents.simulator.gcc
  • com.nokia.ndk.api.qtcomponents.sis
  • com.nokia.ndk.api.qtcomponents.desktop
  • com.nokia.ndk.api.qtcomponents.desktop.gcc
  • com.nokia.ndk.api.qtcomponents.demos
  • com.nokia.ndk.api.ovinotifications
  • com.nokia.ndk.api.ovinotifications.example
  • com.nokia.ndk.tools
  • com.nokia.ndk.tools.harmattan
  • com.nokia.ndk.tools.harmattan.qtcomponents
  • com.nokia.ndk.tools.qtcreator
  • com.nokia.ndk.tools.simulator
  • com.nokia.ndk.tools.simulator.application
  • com.nokia.ndk.tools.desktop
  • com.nokia.ndk.tools.desktop.474
  • com.nokia.ndk.tools.sdkmaintenance
  • com.nokia.ndk.misc
  • com.nokia.ndk.misc.examples

Added as dependency for com.nokia.ndk.api.qtmobility.

  • com.nokia.ndk.licenses.location

Component(s) that have resolved Dependencies

  • com.nokia.ndk.api.qtmobility

Added as dependency for com.nokia.ndk.api.qtcomponents.designer.

  • com.nokia.ndk.tools.qtcreator.application

Component(s) that have resolved Dependencies

  • com.nokia.ndk.api.qtcomponents.designer
  • com.nokia.ndk.api.ovinotifications.developmentfiles
  • com.nokia.ndk.api.ovinotifications.documentation

Added as dependency for com.nokia.ndk.tools.harmattan.sysroot.

  • com.nokia.ndk.tools.madde.qemu.system

Added as dependency for com.nokia.ndk.tools.madde.toolchains.2009q367.

  • com.nokia.ndk.tools.madde.application

Added as dependency for com.nokia.ndk.tools.harmattan.sysroot.

  • com.nokia.ndk.tools.madde.toolchains.2009q367
  • com.nokia.ndk.tools.madde.qttools.474

Component(s) that have resolved Dependencies

  • com.nokia.ndk.tools.harmattan.sysroot
  • com.nokia.ndk.tools.harmattan.qtcomponents.desktop
  • com.nokia.ndk.tools.harmattan.qtcomponents.simulator
  • com.nokia.ndk.tools.qtcreator.gdb

Added as dependency for com.nokia.ndk.tools.symbian.sis.

  • com.nokia.ndk.licenses.nokia

Component(s) that have resolved Dependencies

  • com.nokia.ndk.tools.symbian.sis

Component(s) added as automatic dependencies

  • com.nokia.ndk.api.ovinotifications.simulator
  • com.nokia.ndk.tools.simulator.qtgcc
  • com.nokia.ndk.tools.desktop.474.gcc
  • com.nokia.ndk.misc.examples.47
  • com.nokia.ndk.api.qtmobility.simulatorgcc
  • com.nokia.ndk.api.ovinotifications.simulator.gcc
  • com.nokia.ndk.tools.simulator.qtgcc.qmldump
  • com.nokia.ndk.tools.desktop.474.gcc.qmldump

 

The moment of truth….

After installing I clicking next I get:

 

 

 

 

When you click finished a webrowser pops up as well as Qt Creator.

Ok… That’s a bunch of reading and studying I’m going to need to do, but this all looks promising…

The wife wants a custom low battery operation… scannig through the documentation I’m finding a few thngs that are a little disconcerting if I want to do this developement in Linux.. Her N8 runs Symbian… and here are a couple of things that I found.

  • “Symbian tool chains for developing applications for Symbian devices (only available on Windows)”
  • “Utility applications, such as Nokia Energy Profiler and Nokia Performance Manager, example applications, and demos, that you can install on Symbian devices (only available on Windows)”
  • “Nokia Smart Installer for Symbian that makes it easier for users to install Qt applications to Symbian phones by checking whether the device contains the necessary software and by installing the missing pieces. This helps keep the size of the installation package down (only available on Windows)”

I’m thinking… that I”ll have much less pain if I do this in Windows… But I’ll at least try a test spin in Linux..
Apparently, you can still do some development on Linux for Symbian by using the remote compiler for building… I found some info here: http://doc.qt.nokia.com/qtcreator-snapshot/creator-remote-compiler.html

 

Having fun on staycation

Ok… It’s been a busy last few months.. but at last I have some free time ..  I just got done with taking an advanced C# class (The beginner class got cancelled)and I got my final project and submitted.  Time to have some funtime

I spent the yesterday evening  unwinding by scraping the bottom face of the arm flat on my radial arm saw reprap project….  I finally got it flat and it seems like I have .005 error in pitch and about .015 yaw in relation to the tracks.  My original intention to scrapping was that I needed a flat surface to mount a plate so I could put a pully system.   But… since now I have a flat surface (assuming I can get the surface parallel to the track), I’m think that instead of mounting a pulley system, why not go with a rack and pinion.  This is very tempting since, I need will need to run power and plastic to the extruder head, what the big deal running another power line.    Oth… the rack and pinion setup is probably going to some more expensive….
I suppose I should see if I can get get the bottom face of the radial arm scrapped parallel to the tracks.  If I can, I’ll go with a rack.. If not I’ll go with pulley system.  (I’m tempted to make a gear rack in my metal shaper… If I did that, it sure would be nice to have a automated, down feed… Ugg… yet another project.  (Still .. It would be easy to make a down feed with an Arduino).

Anyway…The wife would like be to write an low power app for her N8 for christmas…  So.. I thought why not blog about it.. Great… my wordpress is out of date, and it’s complaining that I don’t  have Firefox8 running on Ubuntu 10.04…

Firefox8… Ok… Lets see on the wonderful of google has to say about that..

I found a nice set of instructions here:

http://news.softpedia.com/news/How-to-Install-Firefox-8-in-Ubuntu-10-04-and-10-10-232859.shtml

I think it would have been easier  to do everything thing from a terminal session instead of the alt-f2 thing, but I guess he was trying to do things within a Gui..
I was reading through the comments bgate made a comment: “This is why linux will never take over microsoft. This is WAY too hard.”
Hmm..  It really wasn’t that hard, but It did get me thinking that, I woudn’t mind a gui tool to manage my ppa’s a bit better……

A little more googling an here’s what I came up with..

http://maketecheasier.com/search-manage-ppas-with-y-ppa-manager/2011/01/20

One of the comments made a comment the there is a tool in 10.04 using System=>Software Source..  but it seems sort of lame…
What the heck.. It give this a try…

https://help.launchpad.net/Packaging/PPA

 

 

 

Getting on the Arduino Bandwagon

Ok… This Arduinos  got me intrigued…
I picked myself up an uno and started playing around with it.
I downloaded the IDE from git, which in hindsite, wasn’t the smoothest move on my part.
I guess version 1 is from stable for 64 bit 10.04 ubuntu.
I wound up going with 0.22 and  file is much better.
At the moment I’m playing around with a parallax ping and feeding the data back to ubuntu through the usb..

I found an easy method to read serial data from the Arduino here: http://www.arduino.cc/playground/Interfacing/LinuxTTY

Basically for me. I need to figure where the data was coming from, install cu and then run it.

	$ cd /dev
	$ ls tty*
	$ sudo apt-get install cu
	$ cu -l /dev/ttyACM0 -s 9600

The ping code I was experimenting with I got from here: http://www.arduino.cc/en/Tutorial/Ping

The thing that I’m not too thrilled about is something with the Arduino is causing my system to seize up, to the point where  I need to power down and reboot.
Other than that I have to admit these things are alot of fun.

 

 

A Quick screen shot of a git error

This is what I got on my first attempt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Playing around with Cmake to generate source files for git version of heekscad/heekscnc

 

Ok.. I think the git repository may be in enough shape to try this. So I thought I want to give this a go…

So I just want to start from scratch so I deleted the heekscad folder.

jonas@jonas-laptop:~/heekscad$ cd ..
jonas@jonas-laptop:~$ git clone --recursive git://github.com/Heeks/heekscad.git
Initialized empty Git repository in /home/jonas/heekscad/.git/
remote: Counting objects: 10676, done.
remote: Compressing objects: 100% (2100/2100), done.
remote: Total 10676 (delta 8459), reused 10663 (delta 8446)
Receiving objects: 100% (10676/10676), 3.96 MiB | 310 KiB/s, done.
Resolving deltas: 100% (8459/8459), done.
Submodule 'heekscnc' (git://github.com/Heeks/heekscnc.git) registered for path 'heekscnc'
Initialized empty Git repository in /home/jonas/heekscad/heekscnc/.git/
remote: Counting objects: 6860, done.
remote: Compressing objects: 100% (1469/1469), done.
remote: Total 6860 (delta 5390), reused 6825 (delta 5355)
Receiving objects: 100% (6860/6860), 3.16 MiB | 310 KiB/s, done.
Resolving deltas: 100% (5390/5390), done.
Submodule path 'heekscnc': checked out '87c5dc152f1dd68002038f925f8d119fc5dc883a'
Submodule 'libactp' (git://github.com/Heeks/libactp.git) registered for path 'libactp'
Submodule 'libarea' (git://github.com/Heeks/libarea.git) registered for path 'libarea'
Initialized empty Git repository in /home/jonas/heekscad/heekscnc/libactp/.git/
remote: Counting objects: 278, done.
remote: Compressing objects: 100% (133/133), done.
remote: Total 278 (delta 138), reused 278 (delta 138)
Receiving objects: 100% (278/278), 353.42 KiB | 256 KiB/s, done.
Resolving deltas: 100% (138/138), done.
Submodule path 'libactp': checked out 'eb97a623218084d46fe48a82b9c19ccbd50b8bf2'
Initialized empty Git repository in /home/jonas/heekscad/heekscnc/libarea/.git/
remote: Counting objects: 587, done.
remote: Compressing objects: 100% (194/194), done.
remote: Total 587 (delta 389), reused 581 (delta 383)
Receiving objects: 100% (587/587), 293.41 KiB | 239 KiB/s, done.
Resolving deltas: 100% (389/389), done.
Submodule path 'libarea': checked out '4d1aad0776289a7ecbee233c0b6a93a1be0de47e'

I believe the command that I need to use to generate cbp files is this:
cmake . -G “CodeBlocks – Unix Makefiles”

But looking through the source code I just unloaded that there are a few cbp there already..
sooo before I mess something up, I guess I’ll give those a go first.

Before I tried the existing cbp in the current code trunk and heekscad build and ran but heekscnc did not.
I appears that the projects haven’t been updated. When I generate a project file using cmake I managed to get heekscad to build from code::blocks but when I try to run I get the message:

You can’t “run” a commands-only target…

Here are a couple of references:
http://forums.codeblocks.org/index.php?topic=14293.0
and here:
http://www.cmake.org/pipermail/cmake/2008-March/020263.html
Ok… If I go Build->Select Target-> heekscad instead of all I can get the project to run and also apparently debug to run. At this point It looks like I’m missing icons..
It appears that heekscnc is loading up now from the heekcad project….
Any it looks like this at this point…

 

 

 

 

 

At this point I don’t know where the issue lies with the missing icons.

It may be that some path is not being defined.
I think the issue may be

 

 

studying up on this git stuff for heekscad.

Ok… This git thing seems to be the rage.. The guys on the cam# irc suggested I check out this video.

http://www.youtube.com/watch?v=OFkgSjRnay4

Apparently this is one of the main sites for git.
http://git-scm.com/
There is an on-line book available for free download at
http://progit.org/

These are my notes from watching the video
These are really rough and I’m really new at this stuff.
So no guarantees that I’m understanding this correctly.
Check to see if you have git.

jonas@jonas5:~$ git --version
git version 1.7.0.4

Yep..

Check to see if you have git configured

jonas@jonas5:~$ git config --list
fatal: error processing config file(s)

#$@% This is not what happened in the video… (I’m going to ignore it perhaps it will go away.)

Next thing setup up your user name and email

git config --global user.name "your name here"
git config --global user.name "your email here"

That seem to go ok..
if you type

git config --list

you should see it now.
This is store in the /home/jonas/.gitconfig
(Hmm.. wonder why it’s not xml)
The tutorial recommends you set the color?
Ok…

git config --global color.ui true

Sooo…
Now I guess we’re at a point where we can download heekscad and heekscnc??
Info can me found here:
https://github.com/Heeks/heekscad/blob/master/README.github

Since I’m interested in heekscnc I want the recursive..
Soo… I went with this:

jonas@jonas5:~$ git clone --recursive git://github.com/Heeks/heekscad.git
Initialized empty Git repository in /home/jonas/heekscad/.git/
remote: Counting objects: 10655, done.
remote: Compressing objects: 100% (2086/2086), done.
remote: Total 10655 (delta 8447), reused 10648 (delta 8440)
Receiving objects: 100% (10655/10655), 3.94 MiB | 260 KiB/s, done.
Resolving deltas: 100% (8447/8447), done.
Submodule 'heekscnc' (git://github.com/Heeks/heekscnc.git) registered for path 'heekscnc'
Initialized empty Git repository in /home/jonas/heekscad/heekscnc/.git/
remote: Counting objects: 6837, done.
remote: Compressing objects: 100% (1439/1439), done.
remote: Total 6837 (delta 5373), reused 6826 (delta 5362)
Receiving objects: 100% (6837/6837), 3.14 MiB | 264 KiB/s, done.
Resolving deltas: 100% (5373/5373), done.
Submodule path 'heekscnc': checked out '13ae242dc0581149b0b5997d4e2df0be1d256a98'
Submodule 'libactp' (git://github.com/Heeks/libactp.git) registered for path 'libactp'
Submodule 'libarea' (git://github.com/Heeks/libarea.git) registered for path 'libarea'
Submodule 'oce' (https://github.com/tpaviot/oce) registered for path 'oce'
Initialized empty Git repository in /home/jonas/heekscad/heekscnc/libactp/.git/
remote: Counting objects: 278, done.
remote: Compressing objects: 100% (133/133), done.
remote: Total 278 (delta 138), reused 278 (delta 138)
Receiving objects: 100% (278/278), 353.42 KiB | 236 KiB/s, done.
Resolving deltas: 100% (138/138), done.
Submodule path 'libactp': checked out 'eb97a623218084d46fe48a82b9c19ccbd50b8bf2'
Initialized empty Git repository in /home/jonas/heekscad/heekscnc/libarea/.git/
remote: Counting objects: 587, done.
remote: Compressing objects: 100% (194/194), done.
remote: Total 587 (delta 389), reused 581 (delta 383)
Receiving objects: 100% (587/587), 293.41 KiB | 219 KiB/s, done.
Resolving deltas: 100% (389/389), done.
fatal: reference is not a tree: df5c93b21e0924dc8cd4b1eecf254a6771da148f
Unable to checkout 'df5c93b21e0924dc8cd4b1eecf254a6771da148f' in submodule path 'libarea'
Failed to recurse into submodule path 'heekscnc'
jonas@jonas5:~$

Ok… seems like something has gone south, (which since at this moment this isn’t really done is understandable)..
Back to the tutorial..

[edit]… what ever the issues was it seems to have gone away
Soo… Next thing they talk about is view the log…

jonas@jonas5:~$ cd heekscad
jonas@jonas5:~/heekscad$ git log

Oh… Lots of interesting info but I bunch of email’s also… Not in the mood to add fodder for the spammers… so Not listing this:

Setting up the base Ogre Tutorials in Ubuntu using code::blocks with Cmake

[Edit]:In hind site. To run through the tutorial, I found it far easier to just create a project from the code::blocks template.
Only thing with that was that I ran into a weird linker thing going on if I removed the pre-created main.cpp in one folder and used in another. Once I understood what was going on no big deal. http://forums.codeblocks.org/index.php/topic,14770.0.html
I can see the Cmake coming in handy for deployment, but is more of an irritant to me at development

[/Edit]

I’ve been trying to get that darn funguloids to work in Linux so far without success.  Something seems to be going south within Ogre, perhaps because of version updates? I’ve never really played with Ogre so I thought it would be worth my while to run through the Ogre Tutorials.
I made it through setting up an application as well as basic tutorial 1.

On tutorial 2 I wanted to setup a new project and decided that it would be helpful on setting up a cheat sheet on how to get a project going so I wouldn’t have to navigate through all kinds of menus.   For this go  around I thought I use the cmake  method for tutorial1 and use it on tutorial 2.    At this point,  my impressions is that this is a pain but at least I’ll have my notes set up for tutorial3 and I can see if I want to do this again.

Get the Ogre Wiki Tutorial Framework and put the four files in a directory:

  • ogreapp
    • CMakeLists.txt (see below)
    • BaseApplication.h
    • BaseApplication.cpp
    • TutorialApplication.h
    • TutorialApplication.cpp

Ok.. Now on “tutorial 2″ authors want you build as you go, except that the code::blocks project example assumes what you have your existing source files and has the make file in the project. (I’m not used to using an external makefile in code::blocks,(maybe this isn’t as bad as I think it is) So… I guess I’ll go with this by setting up the minimal as they specified.:
BasicTutorial2.h
BasicTutorial2.cpp
Just thinking ahead a bit, I’m going to also copy over the main routine and through it into its own separate file.

So basically my starting point looks like this:

jonas@jonas5:~/OgreTutorials/BasicTutorial2$ ls -l
total 40
-rw-r–r– 1 jonas jonas 13504 2010-12-31 19:37 BaseApplication.cpp
-rw-r–r– 1 jonas jonas 3158 2010-12-31 19:37 BaseApplication.h
-rw-r–r– 1 jonas jonas 1024 2011-05-25 06:53 BasicTutorial2.cpp
-rw-r–r– 1 jonas jonas 231 2011-05-25 06:52 BasicTutorial2.h
-rw-r–r– 1 jonas jonas 5920 2011-05-16 21:11 CMakeLists.txt
-rw-r–r– 1 jonas jonas 752 2011-05-25 06:55 main.cpp
jonas@jonas5:~/OgreTutorials/BasicTutorial2$

I needed to make the following edits to CMakeLists.txt

set(HDRS
./BaseApplication.h
#./TutorialApplication.h
./BasicTutorial2.h

)

set(SRCS
./BaseApplication.cpp
#./TutorialApplication.cpp
./BasicTutorial2.cpp
./main.cpp

)

ooking at:
Setting Up An Application – CodeBlocks – Linux

Points me here first: Building Your Projects With CMake
I’m not sure if this is considered or bad practise but, I’ve been wanting to keep everything together so, I’ve been creating a BasicTutorial2_build folder under the BasicTutorial2 just to keep everything tidy.

Next steps:

How To Use It

After having created your OgreApp source directory, and populated it with the four files from the Ogre Wiki Tutorial Framework and the CMakeLists.txt file, plus the ‘dist‘ directory, you are now ready to build it using CMake.

  1. Open CMake-Gui, choose your source directory (‘ogreapp‘) and a build directory (‘ogreapp_build‘).
  2. Click ‘Configure‘, choose a generator.
  3. Click ‘Configure‘ again if CMake ran without fatal errors.
  4. Click ‘Generate‘.
  5. Navigate to your ‘ogreapp_build‘ directory.

I guess I’m supposed to create a directory called “dist” in the source directory.. Ok.  Did that.
I found that “cmake-gui” works from the command line.  Not CMake-Gui.
(I need to clear the cache out from my previous project)
Clicked configure (Accepted default generatror aka CodeBlocks-Unix Make files) with “Use default native compiler.
It seems to have run ok… so click configure again, then generate…. Oh dang… I get some complaints that “TutorialApplication.h” can’t be found… That implies that CmakeLists is not generate.. (which I just fixed in my notes above

jonas@jonas5:~/OgreTutorials/BasicTutorial2$ cd BasicTutorial2_build
jonas@jonas5:~/OgreTutorials/BasicTutorial2/BasicTutorial2_build$ ls
Basic_Project.cbp  CMakeFiles           dist
CMakeCache.txt     cmake_install.cmake  Makefile
jonas@jonas5:~/OgreTutorials/BasicTutorial2/BasicTutorial2_build$

It seems as if I have a code::blocks project file, I guess I’ll click on it it from Nautilus file browser and see if she fires up…
‘A bunch of compiler errors, nothing to earth shaking..
Once I got done with the compiler errors I got this message:

You can’t “run” a commands-only target…



I spent a while googling trying to figure out what the heck that meant, but it has to do with the build options.
Navigate Project->Properties and select the build target tab.
If you select “all” in the build targets column and you see it says commands only.
I just won’t up deleted all so Orge/app was on top.

At this point, I managed to get the application to compile, but it appears like nothing is happening… Actually I believe Ogre started up and then shut down.
The problem was that I needed to add the resources.cfg and the plugins.cfg to the same folder as the executable.
You can figure that out reading the Ogre.log that’s with the compiled executable:

jonas@jonas5:~/OgreTutorials/BasicTutorial2/BasicTutorial2_build$ cd dist
jonas@jonas5:~/OgreTutorials/BasicTutorial2/BasicTutorial2_build/dist$ cd bin
jonas@jonas5:~/OgreTutorials/BasicTutorial2/BasicTutorial2_build/dist/bin$ ls
OgreApp Ogre.log
jonas@jonas5:~/OgreTutorials/BasicTutorial2/BasicTutorial2_build/dist/bin$ cp /usr/local/share/OGRE/resources.cfg resources.cfg
jonas@jonas5:~/OgreTutorials/BasicTutorial2/BasicTutorial2_build/dist/bin$ cp /usr/local/share/OGRE/plugins.cfg plugins.cfg
jonas@jonas5:~/OgreTutorials/BasicTutorial2/BasicTutorial2_build/dist/bin$ ./OgreApp

At this point, I need to select the Opengl renderer and Fullscreen as no.
I managed to get a view screen but when I did anything with the mouse I got a segmentation fault. Considering that I basically have empty BasicTutorial2.cpp and BasicTutorial2.h in order to work through the tutorial.

Next tutorial I think I’ll try using the code::blocks template and see how that goes.

Trying to get funguloids to work on ubuntu 10.04 using code blocks.

I’ve I’ve been trying to to get OGRE to install and I’m running into issues.

http://www.ogre3d.org/forums/viewtopic.php?f=1&t=56799

I been trying to build funguloids from source using code blocks…  I had a bunch of problems gettting lua run, but I I downloaded the latest source and tried these install instructions…
http://forums.verlihub-project.org/viewtopic.php?f=26&t=4244
It worked an got the program to compile.  Now I throwing an exceptions.

So now this is what I’m getting:

Creating resource group General
Creating resource group Internal
Creating resource group Autodetect
SceneManagerFactory for type ‘DefaultSceneManager’ registered.
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type ‘ParticleSystem’ registered.
OverlayElementFactory for type Panel registered.
OverlayElementFactory for type BorderPanel registered.
OverlayElementFactory for type TextArea registered.
Registering ResourceManager for type Font
ArchiveFactory for archive type FileSystem registered.
ArchiveFactory for archive type Zip registered.
DDS codec registering
FreeImage version: 3.10.0
This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type ‘Entity’ registered.
MovableObjectFactory for type ‘Light’ registered.
MovableObjectFactory for type ‘BillboardSet’ registered.
MovableObjectFactory for type ‘ManualObject’ registered.
MovableObjectFactory for type ‘BillboardChain’ registered.
MovableObjectFactory for type ‘RibbonTrail’ registered.
${datarootdir}/funguloids/plugins.cfg not found, automatic plugin loading disabled.
*-*-* OGRE Initialising
*-*-* Version 1.7.2 (Cthugha)
An exception has occured: OGRE EXCEPTION(6:FileNotFoundException): ‘${datarootdir}/funguloids/plugins.cfg’ file not found! in ConfigFile::load at /home/jonas/dev/ogre/ogre_src_v1-7-2/OgreMain/src/OgreConfigFile.cpp (line 83)codeBlockFungoliods: /usr/local/include/OGRE/OgreSharedPtr.h:160: T* Ogre::SharedPtr<T>::operator->() const [with T = Ogre::Material]: Assertion `pRep’ failed.
Aborted

Process returned 134 (0×86)   execution time : 1.239 s
Press ENTER to continue.

Ok…. I think I need to back up here….. I need to create  a simple Ogre project from the code ::blocks IDE to see if I could get that to run…(it didn’t).  I was getting this…..

Creating resource group General
Creating resource group Internal
Creating resource group Autodetect
SceneManagerFactory for type ‘DefaultSceneManager’ registered.
Registering ResourceManager for type Material
Registering ResourceManager for type Mesh
Registering ResourceManager for type Skeleton
MovableObjectFactory for type ‘ParticleSystem’ registered.
OverlayElementFactory for type Panel registered.
OverlayElementFactory for type BorderPanel registered.
OverlayElementFactory for type TextArea registered.
Registering ResourceManager for type Font
ArchiveFactory for archive type FileSystem registered.
ArchiveFactory for archive type Zip registered.
DDS codec registering
FreeImage version: 3.10.0
This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2
Registering ResourceManager for type HighLevelGpuProgram
Registering ResourceManager for type Compositor
MovableObjectFactory for type ‘Entity’ registered.
MovableObjectFactory for type ‘Light’ registered.
MovableObjectFactory for type ‘BillboardSet’ registered.
MovableObjectFactory for type ‘ManualObject’ registered.
MovableObjectFactory for type ‘BillboardChain’ registered.
MovableObjectFactory for type ‘RibbonTrail’ registered.
plugins.cfg not found, automatic plugin loading disabled.
*-*-* OGRE Initialising
*-*-* Version 1.7.2 (Cthugha)
An exception has occured: OGRE EXCEPTION(6:FileNotFoundException): ‘resources.cfg’ file not found! in ConfigFile::load at /home/jonas/dev/ogre/OgreMain/src/OgreConfigFile.cpp (line 83)*-*-* OGRE Shutdown
Unregistering ResourceManager for type Compositor
Unregistering ResourceManager for type Font
Unregistering ResourceManager for type Skeleton
Unregistering ResourceManager for type Mesh
Unregistering ResourceManager for type HighLevelGpuProgram
Unregistering ResourceManager for type Material

Process returned 0 (0×0)   execution time : 0.064 s
Press ENTER to continue.

There also a log that’s created “Ogre.log” that tells you a little more about whats going on.

08:34:19: Creating resource group General
08:34:19: Creating resource group Internal
08:34:19: Creating resource group Autodetect
08:34:19: SceneManagerFactory for type ‘DefaultSceneManager’ registered.
08:34:19: Registering ResourceManager for type Material
08:34:19: Registering ResourceManager for type Mesh
08:34:19: Registering ResourceManager for type Skeleton
08:34:19: MovableObjectFactory for type ‘ParticleSystem’ registered.
08:34:19: OverlayElementFactory for type Panel registered.
08:34:19: OverlayElementFactory for type BorderPanel registered.
08:34:19: OverlayElementFactory for type TextArea registered.
08:34:19: Registering ResourceManager for type Font
08:34:19: ArchiveFactory for archive type FileSystem registered.
08:34:19: ArchiveFactory for archive type Zip registered.
08:34:19: DDS codec registering
08:34:19: FreeImage version: 3.10.0
08:34:19: This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details
08:34:19: Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,g3,sgi,exr,j2k,j2c,jp2
08:34:19: Registering ResourceManager for type HighLevelGpuProgram
08:34:19: Registering ResourceManager for type Compositor
08:34:19: MovableObjectFactory for type ‘Entity’ registered.
08:34:19: MovableObjectFactory for type ‘Light’ registered.
08:34:19: MovableObjectFactory for type ‘BillboardSet’ registered.
08:34:19: MovableObjectFactory for type ‘ManualObject’ registered.
08:34:19: MovableObjectFactory for type ‘BillboardChain’ registered.
08:34:19: MovableObjectFactory for type ‘RibbonTrail’ registered.
08:34:19: OGRE EXCEPTION(6:FileNotFoundException): ‘plugins.cfg’ file not found! in ConfigFile::load at /home/jonas/dev/ogre/OgreMain/src/OgreConfigFile.cpp (line 83)
08:34:19: plugins.cfg not found, automatic plugin loading disabled.
08:34:19: *-*-* OGRE Initialising
08:34:19: *-*-* Version 1.7.2 (Cthugha)
08:34:19: OGRE EXCEPTION(6:FileNotFoundException): ‘resources.cfg’ file not found! in ConfigFile::load at /home/jonas/dev/ogre/OgreMain/src/OgreConfigFile.cpp (line 83)
08:34:19: *-*-* OGRE Shutdown
08:34:19: Unregistering ResourceManager for type Compositor
08:34:19: Unregistering ResourceManager for type Font
08:34:19: Unregistering ResourceManager for type Skeleton
08:34:19: Unregistering ResourceManager for type Mesh
08:34:19: Unregistering ResourceManager for type HighLevelGpuProgram
08:34:19: Unregistering ResourceManager for type Material

So apparently code blocks sample app executable is looking for “resources.cfg” and “plugins.cfg” to do it’s thing..
Ok….

Now.. I’m finding some interesting info here:
http://ubuntuforums.org/showthread.php?t=1148570

For me,it gets interesting around steps 5.3 and 5.4
I created a plugins.cfg file per the CalderCoalson’s suggestions where the executable was build containing:

PluginFolder=/usr/local/lib/OGRE
Plugin=RenderSystem_GL.so
Plugin=Plugin_OctreeSceneManager.so

Looking at the output from the Ogre.log that seems to have done something… The next issue it appears to be having is.

08:58:59: OGRE EXCEPTION(6:FileNotFoundException): ‘resources.cfg’ file not found! in ConfigFile::load at /home/jonas/dev/ogre/OgreMain/src/OgreConfigFile.cpp (line 83)

Looking at section 5.2

5.4 Using the Example Application [OPTIONAL]
If you are doing the tutorials or otherwise basing your project on the Example Application framework included with the OGRE source, you must copy the Samples/Media, and the Samples/Common/include/* from your OGRE source directory, (~/.ogre/ogre), to your project directory and your project include directory respectively. Finally, you should also copy Samples/Common/bin/resources.cfg file to your project’s build directory and replace all ‘../../’s with the appropriate path to your media directory. Also remember to add
Code:
#include “ExampleApplication.h”
to your main Ogre file, and you should hopefully be good to go.

So…. this is what I got for resources.cfg on my system..
Doing a search this is what I have so far.

jonas@jonas5:~$ locate resources.cfg
/home/jonas/dev/ogre/CMake/Templates/resources.cfg.in
/home/jonas/dev/ogre/SDK/OSX/Xcode Templates/Xcode/Project Templates/Ogre/Mac OS X/Resources/resources.cfg
/home/jonas/dev/ogre/SDK/OSX/Xcode Templates/Xcode/Project Templates/Ogre/iPhone OS/Resources/resources.cfg
/home/jonas/dev/ogre/Tools/MaterialEditor/bin/Debug/resources.cfg
/home/jonas/dev/ogre/Tools/MaterialEditor/bin/Release/resources.cfg
/home/jonas/dev/ogre_build/bin/resources.cfg
/home/jonas/dev/ogre_build/inst/bin/release/resources.cfg
/home/jonas/funguloids/bin/resources.cfg
/home/jonas/funguloids/bin/resources.cfg.in
/home/jonas/junktestOgre/Junktest/resources.cfg
/usr/local/share/OGRE/resources.cfg
/usr/local/share/funguloids/resources.cfg
jonas@jonas5:~$

Hmm…
Lots of interesting stuff here.

jonas@jonas5:~$ cd /usr/local/share/OGRE/
jonas@jonas5:/usr/local/share/OGRE$ ls
docs media plugins.cfg plugins_d.cfg quakemap.cfg quakemap_d.cfg resources.cfg resources_d.cfg samples.cfg samples_d.cfg
jonas@jonas5:/usr/local/share/OGRE$

this is what’s inside resources.cfg

# Resources required by the sample browser and most samples.
[Essential]
Zip=/usr/local/share/OGRE/media/packs/SdkTrays.zip
FileSystem=/usr/local/share/OGRE/media/thumbnails

# Common sample resources needed by many of the samples.
# Rarely used resources should be separately loaded by the
# samples which require them.
[Popular]
FileSystem=/usr/local/share/OGRE/media/fonts
FileSystem=/usr/local/share/OGRE/media/materials/programs
FileSystem=/usr/local/share/OGRE/media/materials/scripts
FileSystem=/usr/local/share/OGRE/media/materials/textures
FileSystem=/usr/local/share/OGRE/media/materials/textures/nvidia
FileSystem=/usr/local/share/OGRE/media/models
FileSystem=/usr/local/share/OGRE/media/particle
FileSystem=/usr/local/share/OGRE/media/DeferredShadingMedia
FileSystem=/usr/local/share/OGRE/media/PCZAppMedia
FileSystem=/usr/local/share/OGRE/media/RTShaderLib
FileSystem=/usr/local/share/OGRE/media/RTShaderLib/materials
Zip=/usr/local/share/OGRE/media/packs/cubemap.zip
Zip=/usr/local/share/OGRE/media/packs/cubemapsJS.zip
Zip=/usr/local/share/OGRE/media/packs/dragon.zip
Zip=/usr/local/share/OGRE/media/packs/fresneldemo.zip
Zip=/usr/local/share/OGRE/media/packs/ogretestmap.zip
Zip=/usr/local/share/OGRE/media/packs/ogredance.zip
Zip=/usr/local/share/OGRE/media/packs/Sinbad.zip
Zip=/usr/local/share/OGRE/media/packs/skybox.zip

[General]
FileSystem=/usr/local/share/OGRE/media

seems like I should copy ” /usr/local/share/OGRE/resources.cfg” to my executable directory and lets see what happens

Hot darn…. It actually managed to do something..
Below is what showed up on my screen after I selected Opengl.. Apparently this data is preserved somewhere… (I guess I figure that out sooner or later.

I head read somewhere to turn the full screen off for a while, so you can close things down more easily so that’s what I’m doing now…

So after I hit accept, I’m getting a blank window titled  “Ogre Render Window”  for a few seconds and then it closes down…
Now, I’m not sure if it’s doing what its supposed to be doing or if I just moved to the next error…  Something tells me I find my answer in this Ogre.log:
Looking through the log there seems to be all kinds of complaints going on, but the issue at the moment that appears to be the show stopper is this:

09:54:54: Parsing script RTShaderSystem.material
09:54:54: Compiler error: unknown error in RTShaderSystem.material(23): token “rtshader_system” is not recognized
09:54:54: Compiler error: unknown error in RTShaderSystem.material(52): token “rtshader_system” is not recognized
09:54:54: Compiler error: unknown error in RTShaderSystem.material(81): token “rtshader_system” is not recognized
09:54:54: Compiler error: unknown error in RTShaderSystem.material(110): token “rtshader_system” is not recognized
09:54:54: Compiler error: unknown error in RTShaderSystem.material(146): token “rtshader_system” is not recognized
09:54:54: Compiler error: unknown error in RTShaderSystem.material(81): token “rtshader_system” is not recognized
09:54:54: Compiler error: unknown error in RTShaderSystem.material(162): token “rtshader_system” is not recognized
09:54:54: Compiler error: unknown error in RTShaderSystem.material(81): token “rtshader_system” is not recognized
09:54:54: Compiler error: unknown error in RTShaderSystem.material(110): token “rtshader_system” is not recognized
09:54:54: Parsing script RomanBath.material
09:54:54: Parsing script Sinbad.material
09:54:54: Parsing script emitted_emitter.particle
09:54:54: OGRE EXCEPTION(2:InvalidParametersException): Cannot find requested emitter type. in ParticleSystemManager::_createEmitter at /home/jonas/dev/ogre/OgreMain/src/OgreParticleSystemManager.cpp (line 353)
09:54:54: DefaultWorkQueue(‘Root’) shutting down on thread mai
n.
09:54:54: *-*-* OGRE Shutdown
09:54:54: Unregistering ResourceManager for type Compositor
09:54:54: Unregistering ResourceManager for type Font
09:54:54: Unregistering ResourceManager for type Skeleton

I little googling brings up this.
http://www.ogre3d.org/forums/viewtopic.php?p=291118&highlight=
Ok… basically missing a plugin…

I’m wonder what’s in:
/usr/local/share/OGRE/plugins.cfg

# Defines plugins to load
# Define plugin folder
PluginFolder=/usr/local/lib/OGRE

# Define plugins
# Plugin=RenderSystem_Direct3D9
# Plugin=RenderSystem_Direct3D10
# Plugin=RenderSystem_Direct3D11
Plugin=RenderSystem_GL
# Plugin=RenderSystem_GLES
Plugin=Plugin_ParticleFX
Plugin=Plugin_BSPSceneManager
Plugin=Plugin_CgProgramManager
Plugin=Plugin_PCZSceneManager
Plugin=Plugin_OctreeZone
Plugin=Plugin_OctreeSceneManager

Soo… I’m thinking the initial install took care of this stuff.. So.. I’m going to copy this over to where my codes blocks executable got created and see what happens..
Ohhh yea… This is what pops up..
.

Now we’re making some progress… Although it appears that inside Ogre.log there is still some complaining going on..

10:36:13: Texture: cloudy_noon_up.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
10:36:13: Texture: cloudy_noon_dn.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
10:36:13: *** Initializing OIS ***
10:36:13: OGRE EXCEPTION(5:ItemIdentityException): OverlayElement with name Core/AverageFps not found. in OverlayManager::getOverlayElementImpl at /home/jonas/dev/ogre/OgreMain/src/OgreOverlayManager.cpp (line 621)
10:36:13: OGRE EXCEPTION(5:ItemIdentityException): OverlayElement with name Core/AverageFps not found. in OverlayManager::getOverlayElementImpl at /home/jonas/dev/ogre/OgreMain/src/OgreOverlayManager.cpp (line 621)
10:36:13: OGRE EXCEPTION(5:ItemIdentityException): OverlayElement with name Core/AverageFps not found. in OverlayManager::getOverlayElementImpl at /home/jonas/dev/ogre/OgreMain/src/OgreOverlayManager.cpp (line 621)

More googling:
http://www.ogre3d.org/forums/viewtopic.php?p=213956

Apparently I need “OgreCore.zip” in my resource path. Uhhh.. when I search for this thinks are not looking good here..

jonas@jonas5:/usr/local/share/OGRE$ locate OgreCore.zip
/home/jonas/dev/ogre/SDK/OSX/Xcode Templates/Xcode/Project Templates/Ogre/Mac OS X/Resources/media/packs/OgreCore.zip
/home/jonas/dev/ogre/SDK/OSX/Xcode Templates/Xcode/Project Templates/Ogre/iPhone OS/Resources/media/packs/OgreCore.zip
jonas@jonas5:/usr/local/share/OGRE$

It look like I should have a OgreCore.zip for linux or something…
Time for some more googling..
This looks interesting:
http://www.ogre3d.org/forums/viewtopic.php?f=2&t=58301

Seems to be missing..
suppossedly I can get get this here.

wget http://ogre.svn.sourceforge.net/viewvc/ogre/branches/v1-6/Samples/Media/packs/OgreCore.zip

For now, I’m just going to put that next to my code blocks generated executable and adjust my plugins infile and see what happens. (I’m created ogre from source using ogre_src_v1-7-2.tar.bz2 so I’m not sure what will happen here.)


Scratch that last dumb idea… Bizarre things happened an my system locked up.
Worth a try to see if I can find that zip file in a later version.

Oh.. I ran across  this.

OGRE no longer uses Subversion for our core repository. We have as moved to a
2 Mercurial repository hosted at http://bitbucket.org/sinbad/ogre/
3
4 Please download Mercurial and clone our repository from there if you wish to
5 stay up to date!

A little more googling and I found this:

http://www.ogre3d.org/forums/viewtopic.php?f=2&t=55233&p=375332

Ok… so for now, I sort got the demo to work… I think I have  idea how to proceed with my hack up funguloids…

Perhaps someone will find my trials and tribulations of use.

Nice link on cout for displaying currency/money

I haven’t explored this site in detail. But I like what I saw on the page I hit.

I was trying to dust off my memory on how to format money in using a terminal prompt.

http://www.arachnoid.com/cpptutor/student3.html