May 7, 2001 J. D. Monnier Star Tracker Shutters Control ============================= After Marc put together a cable, we tested your cbtest program with the modules and it works great. I have chosen one particular implementation of shutter control and have already implemented and tested it in the current version of the StarTracker. I describe it now: Just as you have written a background task (cb_vxworks) which monitors the cbcom shared memory to make sure the shutter states reflect the requested (shmem) states as prepared by the cbcom object, I have created a background task which runs on cpu 1 with the startracker which monitors the startracker shared memory (st_data->blocked[3]). When blocked[3] doesn't match the corresponding shutter bit (as defined in shutters.h and cbcom.h and determined using cbcom_t.Chk_Bit()), a request for a cbcom_t.Set_Bit(bit,value) is spawned. I have tested this by changing the value of the shmem using the Sun shmem shell and it works great (except for the somewhat flakey shutters). e.g., shell> star_tracker -a_blocked 1 shell> star_tracker -c_blocked 0 ps. Does cbcom_t.Chk_Bit() actually talk to the cbcom modules? My inspection of your code indicates this just checks the cbcom shmem -- (which is what I want). is this true? Also -- When I do a Set_Bit, does the cbcom module automatically do a check against the shared memory to make sure the serial writing is necessary? Currently I am checking this in my code, but it does look like your code does this internally as well.