use ocpp_types::v16::DataTransferResponse;
use ocpp_types::v16::common::DataTransferResponseStatus;
fn main() {
#[cfg(not(feature = "alloc"))]
{
let response: DataTransferResponse = DataTransferResponse {
data: Some(heapless::String::try_from("vendor payload").unwrap()),
status: DataTransferResponseStatus::Accepted,
};
println!(
"default capacity: {}",
response.data.as_ref().unwrap().capacity()
);
let response: DataTransferResponse<64> = DataTransferResponse {
data: Some(heapless::String::try_from("vendor payload").unwrap()),
status: DataTransferResponseStatus::Accepted,
};
println!(
"chosen capacity: {}",
response.data.as_ref().unwrap().capacity()
);
}
#[cfg(feature = "alloc")]
{
let response = DataTransferResponse {
data: Some(String::from("vendor payload")),
status: DataTransferResponseStatus::Accepted,
};
println!("alloc mode, no capacity limit: {:?}", response.data);
}
let heartbeat = ocpp_types::v16::HeartbeatResponse {
current_time: ocpp_types::OcppTimestamp::parse_rfc3339("2024-01-01T00:00:00Z").unwrap(),
};
println!(
"timestamp: {} ({} bytes)",
heartbeat.current_time,
core::mem::size_of::<ocpp_types::OcppTimestamp>()
);
}