Action Item #549
closedPort picam pncMsgSend() to libpibox
Added by Hammel about 8 years ago. Updated over 4 years ago.
100%
Description
This is a client function for messaging piboxd. That means the type, action and subaction definitions need to move into libpibox too.
Related issues
Updated by Hammel almost 8 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 30
piboxMsg() is now in libpibox but picam is still using piboxMsgSend() in it's utils.c module. I need to check that the latter can be replaced with the former, then make sure all message types are supported in the library function.
Updated by Hammel over 5 years ago
- Target version changed from 0.12.0 to 1.1.0 - Upgrades
Updated by Hammel over 4 years ago
- Priority changed from Urgent to Immediate
- Severity changed from 02 - High to 03 - Medium
Updated by Hammel over 4 years ago
The piboxlib version of the function is not as full featured as the picam version. So the former needs updating. But I wasn't sure who else was using it. Turns out no one is using it except PiCam. So I can update the library to the PiCam version and test that, then update a Dev platform with the new library, builds all the apps and make sure they all still work.
To verify that no one else is using it I just grep'd for piboxMsg in every app that I wrote that doesn't wrap some 3rd party software. Looks like only PiCam is using this function. So I THINK I'm safe in doing this.
Ran the following command from the top of my source trees:
find pi* appmgr iotapp ironman launcher libpibox musicfe pnc videofe xeonnc -type f -name "*.c" -exec grep -li piboxmsg {} \;
It generated this list
picam/src/src/picam.c
picam/src/src/utils.c
pitemplate/src/app/src/picam.c
pitemplate/src/app/src/utils.c
pixm/src/src/utils.c
iotapp/src/src/db.c
libpibox/src/ptests/pmsg.c
libpibox/src/ptests/main.c
libpibox/src/src/pmsg.c
xeonnc/src/src/net.c
- picam: the thing I wanted updated by this issue
- pitemplate: a copy of picam
- pixm: an unused utility function that should be removed
- iotapp: also needs updating, like picam
- libpibox: library function picam and iotapp will use, plus unit tests
- xeonnc: also needs updating, like picam
Updated by Hammel over 4 years ago
piboxlib is ported and basically passes unit tests. I need to run it with piboxd running to complete those unit test runs.
I can then package piboxlib for rpi4's archive and rebuild the rootfs and staging tree. Then I can start to update the apps to use the updated piboxMsg() function.
Updated by Hammel over 4 years ago
- % Done changed from 30 to 40
libpibox tested with piboxd and passed.
rpi4 build updated with latest libpibox. Ready to port apps.
Updated by Hammel over 4 years ago
Initial test failed because libpibox had a segfault (attempt to write to NULL pointer). That's now fixed.
Tried to build apps but Monkey build was broken (see RM #749). That's fixed now. Building apps again.
Updated by Hammel over 4 years ago
Next problem: picam worked after fixing a few bugs in libpibox but it didn't switch to the correct VT on exit. I have a bug report (RM #751) for adding a function to libpibox for fixing this.
After finding the right vtsrc I was able to verify that the old picam is working. I believe the new picam will also work but need to retest it. I just set vtsrc in the config file to correct vt where X is running.
Updated by Hammel over 4 years ago
Picam worked just fine. I am now fixing all other references and removing extraneous utility copies of piboxMsg from other code.
Updated by Hammel over 4 years ago
- Status changed from In Progress to Closed
- % Done changed from 40 to 100
Done. All updates committed, tested (except xeonnc, but that project will need re-evaluation later anyway) and pushed.
Closing issue.