cmucam3-hardware (#1) - CMUCam3 Serial (#6) - Message List

CMUCam3 Serial

Is there a list of CMUCam3 Serial commands anywhere (not emulated). And also, does the CMUCam3 still have any histogram or masking functions like CMUCam2 had?

  • Message #14

    There isn't a single CMUcam3 firmware like with the CMUcam2. So there isn't a predefined set of commands that gives you access to all functionality. You can run the CMUcam2 firmware which gives you an interface like the CMUcam2. It is also pretty easy to extend and modify that if you want to add your own features. Many times for a particular application we make up a simple protocol specifically for what we are doing. For example, you could write code to constantly stream back data that you are interested in without any interface at all if it makes life easier. Not all of the CMUcam3 code base would fit into the camera ROM at one time, so you should really be thinking about customizing for your particular application.

    That being said, the CMUcam2 emulation does have the OM (output mask) function and has a better version of GH (get histogram) that returns any number of bins. To get a feel for the complexity of the code, you can look at: http://www.cmucam.org/browser/trunk/projects/cmucam2/cmucam2.c http://www.cmucam.org/browser/trunk/lib/cc3-ilp/cc3_histogram.c

    -Anthony

    • Message #15

      Thanks for the response. The issue with serial commands is that I'd be using an OOPic controller so everything would need to be done through serial. Hence why all the C APIs are virtually useless. Or would I need to make my own C serial receive and response code?

      • Message #17

        Writing your own serial receive and response code is a good option. That way you can make it as simple or complex as you need. By default you will have printf(), scanf(), getchar(), putchar() that transmit and receive using the serial port. You can set the baudrate etc to whatever you want. You also have all of the standard C string libraries which should make parsing data easier. You could even use the CMUcam2 code as a skeleton for communication if you like that format (basically the cmucam2_get_command() function). Hope that helps.

        -Anthony

        • Message #18

          It does..a lot. I'll probably end up buying the CMUCam2+ Turret package from roboticsconnection or acroname though simply because the turret is really useful to me and the CMUCam3, though I would love to use it, has tons of features I probably will never make use of. Thanks for the input, I'll see where I go with this :)