-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Architecture v1 #1
Conversation
Cargo.toml
Outdated
edition = "2021" | ||
license = "MIT" | ||
repository = "https://github.com/kscalelabs/kscaleos" | ||
description = "The K-Scale Operating System" | ||
documentation = "https://docs.kscale.dev/kscaleos/intro" | ||
readme = "README.md" | ||
readme = "README.md" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vim???
(i mean, no new lines at end of file, this isn't a vscode default right?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LOL
no that was vscode........
protos/control.proto
Outdated
|
||
// System Messages | ||
message GetIPAddressResponse { | ||
string ip_address = 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe multiple ip addresses
protos/control.proto
Outdated
message SetCalibrationDataRequest { | ||
string data = 1; // YAML data as string | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add a config.proto with configuration options for rust-side
protos/control.proto
Outdated
oneof command { | ||
PositionControl position_control = 2; | ||
TorqueControl torque_control = 3; | ||
VelocityControl velocity_control = 4; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just use this control format
{
torque: optional[float]
velocity: optional[float]
position: optional[float]
kp: optional[float]
kd: optional[float]
}
protos/control.proto
Outdated
message ActionResult { | ||
uint32 actuator_id = 1; | ||
bool success = 2; | ||
Error error = 3; | ||
} | ||
|
||
message ActionResponse { | ||
bool success = 1; | ||
Error error = 2; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
actuator feedback
all optional except position
{
position: float
velocity: optional[float]
torque: optional[float]
temperature: optional[float]
current_load: optional[float]
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This all looks fine in principle but can you create a graph in excalidraw with connections. The architecture with the right proto will come from this straight away.
|
|
|
@@ -0,0 +1,2 @@ | |||
// TODO: Implement process manager. | |||
// This will manage life cycle of non rust services (e.g. gstreamer, mosquitto etc) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Define supervisor loop called from actuator (Denys)
@codekansas u ok with merging this in for ci testing? and in general |
@codekansas pls look if protobuf makes sense. incomplete but most of the essential stuff is there