Skip to main content

IntersectionStatusObject

Struct IntersectionStatusObject 

Source
pub struct IntersectionStatusObject(pub FixedBitString<16usize>);
Available on crate features _dsrc_2_2_1 and _etsi only.
Expand description

The Intersection Status Object contains Advanced Traffic Controller (ATC) status information that may be sent to local OBUs as part of the SPAT process. With bits as defined:

  • manualControlIsEnabled - 0: Timing reported is per programmed values, etc. but person at cabinet can manually request that certain intervals are terminated early (e.g. green).
  • stopTimeIsActivated - 1: And all counting/timing has stopped.
  • failureFlash - 2: Above to be used for any detected hardware failures, e.g. conflict monitor as well as for police flash
  • fixedTimeOperation - 5: Schedule of signals is based on time only (i.e. the state can be calculated)
  • trafficDependentOperation - 6: Operation is based on different levels of traffic parameters (requests, duration of gaps or more complex parameters)
  • standbyOperation - 7: Controller: partially switched off or partially amber flashing
  • failureMode - 8: Controller has a problem or failure in operation
  • off - 9: Controller is switched off
  • recentMAPmessageUpdate - 10: Map revision with content changes
  • recentChangeInMAPassignedLanesIDsUsed - 11: Change in MAP’s assigned lanes used (lane changes) Changes in the active lane list description
  • noValidMAPisAvailableAtThisTime - 12: MAP (and various lanes indexes) not available
  • noValidSPATisAvailableAtThisTime - 13: SPAT system is not working at this time
  • Bits 14,15 reserved at this time and shall be zero

@note: All zeros indicate normal operating mode with no recent changes. The duration of the term ‘recent’ is defined by the system performance requirement in use.

@category: Infrastructure information

@revision: V1.3.1

Tuple Fields§

§0: FixedBitString<16usize>

Implementations§

Source§

impl IntersectionStatusObject

Source

pub fn get_manual_control_is_enabled(&self) -> bool

Source

pub fn get_stop_time_is_activated(&self) -> bool

Source

pub fn get_failure_flash(&self) -> bool

Source

pub fn get_preempt_is_active(&self) -> bool

Source

pub fn get_signal_priority_is_active(&self) -> bool

Source

pub fn get_fixed_time_operation(&self) -> bool

Source

pub fn get_traffic_dependent_operation(&self) -> bool

Source

pub fn get_standby_operation(&self) -> bool

Source

pub fn get_failure_mode(&self) -> bool

Source

pub fn get_off(&self) -> bool

Source

pub fn get_recent_map_message_update(&self) -> bool

Source

pub fn get_recent_change_in_map_assigned_lanes_ids_used(&self) -> bool

Source

pub fn get_no_valid_map_is_available_at_this_time(&self) -> bool

Source

pub fn get_no_valid_spat_is_available_at_this_time(&self) -> bool

Source

pub fn set_manual_control_is_enabled(&mut self, value: bool)

Source

pub fn set_stop_time_is_activated(&mut self, value: bool)

Source

pub fn set_failure_flash(&mut self, value: bool)

Source

pub fn set_preempt_is_active(&mut self, value: bool)

Source

pub fn set_signal_priority_is_active(&mut self, value: bool)

Source

pub fn set_fixed_time_operation(&mut self, value: bool)

Source

pub fn set_traffic_dependent_operation(&mut self, value: bool)

Source

pub fn set_standby_operation(&mut self, value: bool)

Source

pub fn set_failure_mode(&mut self, value: bool)

Source

pub fn set_off(&mut self, value: bool)

Source

pub fn set_recent_map_message_update(&mut self, value: bool)

Source

pub fn set_recent_change_in_map_assigned_lanes_ids_used(&mut self, value: bool)

Source

pub fn set_no_valid_map_is_available_at_this_time(&mut self, value: bool)

Source

pub fn set_no_valid_spat_is_available_at_this_time(&mut self, value: bool)

Trait Implementations§

Source§

impl AsnType for IntersectionStatusObject

Source§

const TAG: Tag = { <FixedBitString<16usize> as rasn::AsnType>::TAG }

The associated tag for the type. Read more
Source§

const IDENTIFIER: Identifier

Identifier of an ASN.1 type as specified in the original specification if not identical with the identifier of Self
Source§

const CONSTRAINTS: Constraints

The set of constraints for values of the given type.
Source§

const TAG_TREE: TagTree = _

The root of this type’s tree of tag’s if it a CHOICE type, otherwise its Leaf that points Self::TAG.
Source§

const IS_CHOICE: bool = false

Whether the type is choice type. PER/OER encoding rules require this knowledge.
Source§

fn is_present(&self) -> bool

Whether the type is present with value. OPTIONAL fields are common in SEQUENCE or SET. Read more
Source§

impl Clone for IntersectionStatusObject

Source§

fn clone(&self) -> IntersectionStatusObject

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IntersectionStatusObject

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Decode for IntersectionStatusObject

Source§

fn decode_with_tag_and_constraints<_DECODER: Decoder>( decoder: &mut _DECODER, tag: Tag, constraints: Constraints, ) -> Result<Self, _DECODER::Error>

Decode this value implicitly tagged with tag from a given ASN.1 decoder with a set of constraints on what values of that type are allowed. Read more
Source§

fn decode<D>(decoder: &mut D) -> Result<Self, <D as Decoder>::Error>
where D: Decoder,

Decode this value from a given ASN.1 decoder. Read more
Source§

fn decode_with_tag<D>( decoder: &mut D, tag: Tag, ) -> Result<Self, <D as Decoder>::Error>
where D: Decoder,

Decode this value implicitly tagged with tag from a given ASN.1 decoder. Read more
Source§

fn decode_with_constraints<D>( decoder: &mut D, constraints: Constraints, ) -> Result<Self, <D as Decoder>::Error>
where D: Decoder,

Decode this value from a given ASN.1 decoder with a set of constraints on what values of that type are allowed. Read more
Source§

impl Default for IntersectionStatusObject

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Display for IntersectionStatusObject

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Encode for IntersectionStatusObject

Source§

fn encode_with_tag_and_constraints<'encoder, _ENCODER: Encoder<'encoder>>( &self, encoder: &mut _ENCODER, tag: Tag, constraints: Constraints, identifier: Identifier, ) -> Result<(), _ENCODER::Error>

Encode this value with tag into the given crate::Encoder with the constraints the values this is allowed to encode into. Read more
Source§

fn encode<'b, E>( &self, encoder: &mut E, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encodes self’s data into the given crate::Encoder. Read more
Source§

fn encode_with_tag<'b, E>( &self, encoder: &mut E, tag: Tag, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encode this value with tag into the given crate::Encoder. Read more
Source§

fn encode_with_identifier<'b, E>( &self, encoder: &mut E, identifier: Identifier, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encode this value with identifier into the given crate::Encoder. Read more
Source§

fn encode_with_tag_and_identifier<'b, E>( &self, encoder: &mut E, tag: Tag, identifier: Identifier, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encode this value with tag and identifier into the given crate::Encoder. Read more
Source§

fn encode_with_constraints<'b, E>( &self, encoder: &mut E, constraints: Constraints, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encode this value into the given crate::Encoder with the constraints the values this is allowed to encode into. Read more
Source§

fn encode_with_constraints_and_identifier<'b, E>( &self, encoder: &mut E, constraints: Constraints, identifier: Identifier, ) -> Result<(), <E as Encoder<'b>>::Error>
where E: Encoder<'b>,

Encode this value into the given crate::Encoder with identifier and the constraints the values this is allowed to encode into. Read more
Source§

impl Eq for IntersectionStatusObject

Source§

impl Hash for IntersectionStatusObject

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for IntersectionStatusObject

Source§

fn eq(&self, other: &IntersectionStatusObject) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for IntersectionStatusObject

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.