Finally have MPU-9255 and MS5611 sensors working and a simple CLI on the command line.  It is simlar to CLI via serial port or CleanFlight configurator.
Here is the output:
linuxflight>tasks
Task list          max/us  avg/us rate/hz maxload avgload     total/ms
 0 -       SYSTEM      29       0       9    0.5%    0.5%         0
 1 -     GYRO/PID     748     145     848   63.9%   12.7%       743
 3 -       SERIAL      71       1      93    1.1%    0.5%         1
 5 -           RX       0       0   2147483647    0.5%    0.5%         0
linuxflight>tasks
Task list          max/us  avg/us rate/hz maxload avgload     total/ms
 0 -       SYSTEM      31       0       9    0.5%    0.5%         1
 1 -     GYRO/PID     886     176     801   71.4%   14.5%      5864
 3 -       SERIAL      73       1      88    1.1%    0.5%         9
 5 -           RX       0       0   2147483647    0.5%    0.5%         0
linuxflight>
I'm going to switch to linenoise for controlling line processing to allow up and down errors etc.  
Need to fix how average is calculated, but making progress.  Need to reconnect the I/O processor to get GPS, pwm out, s.bus in, and S.Port.
The goal is to use socat where configurator is running to expose a virtual serial port and forward the packets to "LinuxFlight".
Still working on CPU performance and getting GPIO to trigger for gyro-sync.
Here is top:
Here is the CLI on the PI Zero:
The command line is using boost ASIO.  Goal is to add the socat protocol so configurator can still access and configure "LinuxFlight" ;)
Yes, I'm thinking of forking the code, due to the amount of changes to the core.  Right now, there are very minimal.


Next week is to rework the scheduler to be event based using epoll for timer and enqueue/dequeue event data.
ReplyDelete