Wakoma / nimble

The nimble. An open source, rapidly deployable, wireless mesh network.
CERN Open Hardware Licence Version 2 - Strongly Reciprocal
56 stars 9 forks source link

Plan data structure and information flow #78

Closed julianstirling closed 1 week ago

julianstirling commented 2 weeks ago

We need to make sure that the correct data is available to each step of generating the hardware and instructions. A first approximation is that the following data is needed for the three main steps:

Image

I think the easiest way to do this is some sort of heptarchical object-based structure. Very simplistically this will look somewhat like:

Image

This way the orchestration can:

  1. Receive list of networking hardware and rack parameters
  2. Pass parameters into full assembly object
    1. Orchestration adds networking component to object
    2. Assembly object then creates shelf object based on this (needs access to database to know what shelf type and other information.)
  3. Get ExSource from assembly object to get full list of parts and renders that need to be generated (object will need to query the other objects it contains)
  4. Run ExSource
  5. Get textual instructions from assembly object (object will need to query the other objects it contains)
  6. Run GitBuilding

Shelf classes

jmwright commented 2 weeks ago

I don't think anything in the data flow precludes this, but it will probably be easier to make the shelves into sub-assemblies along with their components, screws, etc, and then have the entire rack be built of shelf-component sub-assemblies along with the odd bits that are left over (top and bottom plates, rails, screws to fasten sub-assemblies to rails, etc). This could imply a matching hierarchy in the data.

julianstirling commented 2 weeks ago

into sub-assemblies along with their components, screws, etc, and then have the entire rack be built of shelf-component sub-assemblies

:100:

Totally agree!

julianstirling commented 1 week ago

I'm closing this as we have have a plan. I'm sure the plan will be updated as we find the issues.