@@ -187,13 +187,15 @@ mod channel_ids {
187
187
pub const REAL_TIME : ChannelId = ChannelId ( 1 ) ;
188
188
pub const FIXED_RATE_50 : ChannelId = ChannelId ( 2 ) ;
189
189
pub const FIXED_RATE_200 : ChannelId = ChannelId ( 3 ) ;
190
+ pub const FIXED_RATE_1 : ChannelId = ChannelId ( 4 ) ;
190
191
}
191
192
192
193
impl Channel {
193
194
pub fn id ( & self ) -> ChannelId {
194
195
match self {
195
196
Channel :: RealTime => channel_ids:: REAL_TIME ,
196
197
Channel :: FixedRate ( fixed_rate) => match fixed_rate. value_ms ( ) {
198
+ 1 => channel_ids:: FIXED_RATE_1 ,
197
199
50 => channel_ids:: FIXED_RATE_50 ,
198
200
200 => channel_ids:: FIXED_RATE_200 ,
199
201
_ => panic ! ( "unknown channel: {self:?}" ) ,
@@ -242,7 +244,7 @@ impl FixedRate {
242
244
// - Values are sorted.
243
245
// - 1 second contains a whole number of each interval.
244
246
// - all intervals are divisable by the smallest interval.
245
- pub const ALL : [ Self ; 2 ] = [ Self { ms : 50 } , Self { ms : 200 } ] ;
247
+ pub const ALL : [ Self ; 3 ] = [ Self { ms : 1 } , Self { ms : 50 } , Self { ms : 200 } ] ;
246
248
pub const MIN : Self = Self :: ALL [ 0 ] ;
247
249
248
250
pub fn from_ms ( value : u32 ) -> Option < Self > {
@@ -270,7 +272,7 @@ fn fixed_rate_values() {
270
272
"1 s must contain whole number of intervals"
271
273
) ;
272
274
assert ! (
273
- value. ms % FixedRate :: MIN . ms == 0 ,
275
+ value. value_us ( ) % FixedRate :: MIN . value_us ( ) == 0 ,
274
276
"the interval's borders must be a subset of the minimal interval's borders"
275
277
) ;
276
278
}
0 commit comments