forked from M-Labs/artiq-zynq
satman mgmt: allow sliceable to consume log source
This commit is contained in:
parent
aadb6fc22d
commit
759cca3bfd
@ -1031,10 +1031,7 @@ fn process_aux_packet(
|
|||||||
timer
|
timer
|
||||||
);
|
);
|
||||||
let mut data_slice = [0; SAT_PAYLOAD_MAX_SIZE];
|
let mut data_slice = [0; SAT_PAYLOAD_MAX_SIZE];
|
||||||
let meta = core_manager.log_get_slice(&mut data_slice);
|
let meta = core_manager.log_get_slice(&mut data_slice, clear);
|
||||||
if clear && meta.status.is_first() {
|
|
||||||
mgmt::clear_log();
|
|
||||||
}
|
|
||||||
drtioaux::send(
|
drtioaux::send(
|
||||||
0,
|
0,
|
||||||
&drtioaux::Packet::CoreMgmtGetLogReply {
|
&drtioaux::Packet::CoreMgmtGetLogReply {
|
||||||
|
@ -60,10 +60,14 @@ impl<'a> Manager<'_> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn log_get_slice(&mut self, data_slice: &mut [u8; SAT_PAYLOAD_MAX_SIZE]) -> SliceMeta {
|
pub fn log_get_slice(&mut self, data_slice: &mut [u8; SAT_PAYLOAD_MAX_SIZE], consume: bool) -> SliceMeta {
|
||||||
// Populate buffer if depleted
|
// Populate buffer if depleted
|
||||||
if self.last_log.at_end() {
|
if self.last_log.at_end() {
|
||||||
self.last_log.extend(get_logger_buffer().extract().as_bytes());
|
let mut buffer = get_logger_buffer();
|
||||||
|
self.last_log.extend(buffer.extract().as_bytes());
|
||||||
|
if consume {
|
||||||
|
buffer.clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self.last_log.get_slice_satellite(data_slice)
|
self.last_log.get_slice_satellite(data_slice)
|
||||||
|
Loading…
Reference in New Issue
Block a user