Author Topic: Software Roadmap - 0.3.1, 0.4.x, etc.  (Read 46372 times)

ThomasYiPP

  • Newbie
  • *
  • Posts: 11
  • Digital experiences for screens & spaces
    • View Profile
    • yipp.nl
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #45 on: January 08, 2019, 08:20:44 AM »
Hey DDR,

Great to hear you guys are close, we're a month further and sorry to bother again but we have a deadline for an expensive project where we really need this feature (we don't want to open the camera and solder a switch to the pcb, I think it kinda voids the warranty)  ;D

DDR

  • Krontech
  • Full Member
  • *****
  • Posts: 111
    • View Profile
    • Krontech
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #46 on: January 17, 2019, 01:17:38 PM »
Hi Thomas. As it stands, @skronstein is working on a test plan for verification of 0.3.x. So that should be coming in a few weeks, once we've actually checked it does what we say it does. @tesla500 is working on an improved version of the power-down feature for your use. A more configurable version will be released with the new UI, on the power screen. I myself am busy with 0.5.x UI, which will be served by the API Johan is working on for 0.4.x. (We've experienced difficulty extracting the sensor initialization logic from the old camApp code.)

I hope that helps explain what we've been working on. There haven't been any major milestones to announce, so I'm afraid we've been pretty quiet.

JamesB

  • Jr. Member
  • **
  • Posts: 68
    • View Profile
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #47 on: January 22, 2019, 06:36:20 PM »
I see lots of work behind the scenes. I was wondering if we could save Black Cal profiles that can be recalled instead of waiting for the camera to warm up and calibrate several times to reduce the vertical banding every use. To get to a pretty clean image it takes me about 26min and 4-5 black cals.   Thanks DDR!

DDR

  • Krontech
  • Full Member
  • *****
  • Posts: 111
    • View Profile
    • Krontech
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #48 on: January 23, 2019, 04:19:09 PM »
Hi JamesB.

I've asked around, and the backend guys have told me that saving/restoring black cal images would be "very hard". I'd like to see that feature myself — I've had a lot of difficulty around changing temperature and black cal — so I'm still going to push for it.

There was some unrelated work done to improve the vertical banding problem, however. It should land in either the next 0.3.x beta or 0.4.x, and should help that issue quite a bit. :D

JamesB

  • Jr. Member
  • **
  • Posts: 68
    • View Profile
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #49 on: January 24, 2019, 12:26:40 AM »
Glad to know the banding is being improved, thanks for the heads up!  :)

DDR

  • Krontech
  • Full Member
  • *****
  • Posts: 111
    • View Profile
    • Krontech
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #50 on: February 08, 2019, 12:00:40 PM »
Well, it's been a while since I updated what was going on behind the scenes here. While we've all been working hard, it's been a lot of behind-the-scenes sort of stuff. Nothing very showy, really.

So, some background is in order.

We decided about a year ago that we did not want to keep using the original version of the software, camApp, which ships with the camera and is updated via the betas on this forum. One of the main reasons for this is that we wanted a web api and remote control app. Embedding a web server in original camApp was impractical. An external web server could not reasonably be hacked together with the tools available¹.­ Some infrastructure needed to be built.

So, Foobar ported a newer linux kernel to our CPU, and we got access to much better tools. Porting a linux kernel is generally not considered a one-man job, so it took him a few months. During this time, I put together a virtual machine to develop the new UI, called gui2, on. After I'd completed that, Foobar promptly delivered an early version of the new linux to me. While it lacked drivers for all the camera-y parts, I was able to get a modern tech stack up and running and I used this to develop the app for the next half-year.

As this progressed, it became apparent that the tech stack I'd compiled was not one that we could safely upgrade and maintain. Foobar completed his port of the linux kernel, giving us Debian 8 as the underlying operating system, and we decided to backport the infrastructure I was using from Debian 9. This was completed, but we were still several versions behind what I'd developed the new UI on. I am currently finishing porting everything from my new tech stack to the older, maintainable versions of the tech we had. While a few bugs remain, I got the app running in it's entirety, on it's final tech stack, this afternoon.

Near the beginning of all this, Johan was hired to extract the startup logic from the current camApp. (I was hired to do the mobile app promised in the Kickstarter, which was deferred due to the technical issues mentioned above, so I wound up extracting the graphical user interface from the camApp.) Extracting the startup logic to initialize the sensor proved to be quite difficult. This was completed this morning, and the camera can now start and show the new UI entirely without having to run the current camApp!

The camera can now also run a nascent HTTP API, which plays well with the new UI. If you update a value via the API, the new value is reflected in the UI running on the camera. However, both the new UI and the alpha HTTP API are still largely disconnected from the hardware of the camera. They are running against dummy values. Since Johan has managed to bring up the camera, he is now implementing the dummy values so the HTTP API and the new UI can actually make changes to the camera. Some tasks are expected to be easy to tell the camera to do, while others will require a bit more work. This implementation is represented by box in the last progress chart posted in this thread³.

While all this has been going on, Loial has been making significant improvements to the firmware of the camera's FPGA. This has been appearing in the forum betas. We are currently in the midst of working on a testing plan for the next beta, since we'd like it to actually work this time. Unfortunately, there turns out to be quite a lot to our software, so while skronstein has been working on the testing plan it is still a work in progress. I myself may be pulled aside for a few days to complete that, so we can test and release next beta here. 🙂

If you'd like to talk to us in person and see some cool stuff, we'll be at NAB. It's April 6th through 11th in Las Vegas, though we'll be around a few days longer for setup and teardown.



¹ These tools were Ash² scripts being called via CGI.
² Ash is like Bash, but awful.
³ There has been no real progress on the chart since then since both Johan and myself have been been dealing with the underlying work of making our respective technologies run. Since this work was unforseen and unpredictable, it was uncharted.

nik282000

  • Full Member
  • ***
  • Posts: 104
    • View Profile
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #51 on: February 11, 2019, 12:45:35 PM »
Thanks for the update.

I am excited to see hear the HTTP API is coming along, you guys are doing awesome work!

JamesB

  • Jr. Member
  • **
  • Posts: 68
    • View Profile
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #52 on: February 18, 2019, 10:40:54 AM »
Wow nobody said it was easy, lots of work behind the scenes. Thanks for sharing your progress and process to get there!

edmond

  • Newbie
  • *
  • Posts: 8
    • View Profile
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #53 on: March 07, 2019, 08:49:33 PM »
Any updates?
It's March of 2019...

DDR

  • Krontech
  • Full Member
  • *****
  • Posts: 111
    • View Profile
    • Krontech
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #54 on: March 11, 2019, 08:31:36 AM »
Any updates?
No. >_<

This is quite frustrating all around, I think.

Most of the company has been pulled off into NAB prep. Since it's at the end of this month and we are not strictly speaking ready, that has been where the attention has been.

I myself have been splitting my time between NAB work and writing the documentation for the HTTP API. The documentation is nearing completion, the API is not. To that end, I'm going to announce the dummy API soon, in the hope of gathering some useful feedback. Most APIs are terrible, and I would like this one to be the exception. The real API will be available two or three months after NAB, hopefully. :-\

Actually testing the next beta of the current software is almost done too, thanks to skronstein's efforts. :) We hope to issue a release soon. One of the issues testing has turned up that we didn't know about is that we broke white balance at some point. It now makes whites less balanced instead of more balanced.


I think the idea of the testing is that we will be able to release new betas without delaying for any new features or bugfixes, since we will know what is wrong. However, perfectionism dies hard. I will do what I can to make sure the release does happen, even with caveats such as broken white balance.

Sorry for the delays. :-[
« Last Edit: March 11, 2019, 08:36:57 AM by DDR »

nik282000

  • Full Member
  • ***
  • Posts: 104
    • View Profile
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #55 on: March 14, 2019, 10:17:47 AM »
Glad to hear you guys are still plugging along, each update and rc has made the camera more enjoyable to use. Good luck at NAB!

DDR

  • Krontech
  • Full Member
  • *****
  • Posts: 111
    • View Profile
    • Krontech
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #56 on: May 01, 2019, 02:58:20 PM »
Well, we're back from NAB with the Chronos 2 and the bullet-time Ring announced and successfully demoed! We're turning our attention to the camera control APIs now.

Good news/bad news: The good news is that there's actually some serious progress being made on the API - it has basic working control of the cameras, can set resolution, and take and save recordings. The bad news is that it's not the original API I had designed when I made the new UI, since the new API was developed as part of the Ring project.

Here's the current status of the API and UI:

(click to enlarge)


From left to right, we have:
  • Shell & Nav: Complete, I've designed and imported all the planned screens into the new UI's code. This is still good to go.
  • Implementation (Front-End): This is the back-of-camera interface redesign I've been working on. It makes the camera do stuff by telling the internal D-Bus API to do stuff.
  • Implementation (D-Bus APIs, v2): Turns commands from the back-of-camera interface and the HTTP API into lower-level commands to the components of the camera, such as the field-programmable gate array or the image sensor.

Most of the screens' implementations have been demoted to being "in progress", since I need to go back and change the API calls being made in all the screens I had wired in. In some cases, this is simply a matter of using a new name. In other cases, such as the recording settings screen, the API works quite differently and the screen will have to be significantly reworked.

We're still aiming to release the initial version of the API in June, so you all can give us feedback and start automating your camera!
« Last Edit: May 01, 2019, 03:04:42 PM by DDR »

DDR

  • Krontech
  • Full Member
  • *****
  • Posts: 111
    • View Profile
    • Krontech
Re: Software Roadmap - 0.3.1, 0.4.x, etc.
« Reply #57 on: June 06, 2019, 05:16:21 PM »
Work continues. About half the stuff we need to expose via the API has been exposed, but the UI has been delayed as I've been busy trying to work out some nasty performance issues.


(click to enlarge)