pub enum SensoryCorticalUnit {
Show 14 variants
Infrared,
Proximity,
Shock,
Battery,
Servo,
AnalogGPIO,
DigitalGPIO,
MiscData,
TextEnglishInput,
CountInput,
Vision,
SegmentedVision,
Accelerometer,
Gyroscope,
}Variants§
Infrared
Infrared distance sensor for object detection.
Proximity
Proximity (distance) sensor for object detection.
Shock
Shock sensor for sensing ‘pain’. Useful for training.
Battery
Battery level sensor.
Servo
Servo position sensor for monitoring actuator position.
AnalogGPIO
Analog GPIO input, such as an input from the GPIO pins on a Raspberry pi
DigitalGPIO
Digital GPIO input, such as an input from the GPIO pins on a Raspberry pi
MiscData
Miscellaneous sensor that does not fit existing templates.
TextEnglishInput
Text input (English) - token stream encoded as absolute fractional bitplanes along Z (z=0 is MSB).
CountInput
Count input - unsigned percentage encoding (linear, absolute).
Vision
Camera vision input
SegmentedVision
Segmented vision processing, with a higher resolution center and lower resolution peripherals
Accelerometer
Accelerometer, allows for relative tracking of position and motion
Gyroscope
Gyroscope (Quaternion), Allows for tracking rotation without gimbal lock
Implementations§
Source§impl SensoryCorticalUnit
impl SensoryCorticalUnit
Sourcepub const fn get_cortical_area_types_array_for_infrared_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_infrared_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]
Get cortical area types array for Infrared Sensor using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_infrared_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_infrared_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Infrared Sensor using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_proximity_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_proximity_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]
Get cortical area types array for Proximity Sensor using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_proximity_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_proximity_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Proximity Sensor using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_shock_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_shock_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]
Get cortical area types array for Shock sensor using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_shock_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_shock_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Shock sensor using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_battery_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_battery_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]
Get cortical area types array for Battery Sensor using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_battery_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_battery_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Battery Sensor using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_servo_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_servo_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]
Get cortical area types array for Servo Sensor using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_servo_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_servo_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Servo Sensor using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_analog_g_p_i_o_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_analog_g_p_i_o_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]
Get cortical area types array for Analog GPIO Sensor using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_analog_g_p_i_o_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_analog_g_p_i_o_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Analog GPIO Sensor using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_digital_g_p_i_o_with_parameters() -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_digital_g_p_i_o_with_parameters() -> [CorticalAreaType; 1]
Get cortical area types array for Digital GPIO Sensor using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_digital_g_p_i_o_with_parameters(
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_digital_g_p_i_o_with_parameters( cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Digital GPIO Sensor using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_misc_data_with_parameters(
frame_change_handling: FrameChangeHandling,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_misc_data_with_parameters( frame_change_handling: FrameChangeHandling, ) -> [CorticalAreaType; 1]
Get cortical area types array for Miscellaneous Sensor using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_misc_data_with_parameters(
frame_change_handling: FrameChangeHandling,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_misc_data_with_parameters( frame_change_handling: FrameChangeHandling, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Miscellaneous Sensor using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_text_english_input_with_parameters(
frame_change_handling: FrameChangeHandling,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_text_english_input_with_parameters( frame_change_handling: FrameChangeHandling, ) -> [CorticalAreaType; 1]
Get cortical area types array for Text Input (English) using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_text_english_input_with_parameters(
frame_change_handling: FrameChangeHandling,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_text_english_input_with_parameters( frame_change_handling: FrameChangeHandling, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Text Input (English) using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_count_input_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_count_input_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]
Get cortical area types array for Count Input using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_count_input_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_count_input_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Count Input using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_vision_with_parameters(
frame_change_handling: FrameChangeHandling,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_vision_with_parameters( frame_change_handling: FrameChangeHandling, ) -> [CorticalAreaType; 1]
Get cortical area types array for Simple Vision using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_vision_with_parameters(
frame_change_handling: FrameChangeHandling,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_vision_with_parameters( frame_change_handling: FrameChangeHandling, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Simple Vision using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_segmented_vision_with_parameters(
frame_change_handling: FrameChangeHandling,
) -> [CorticalAreaType; 9]
pub const fn get_cortical_area_types_array_for_segmented_vision_with_parameters( frame_change_handling: FrameChangeHandling, ) -> [CorticalAreaType; 9]
Get cortical area types array for Segmented Vision using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_segmented_vision_with_parameters(
frame_change_handling: FrameChangeHandling,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 9]
pub const fn get_cortical_ids_array_for_segmented_vision_with_parameters( frame_change_handling: FrameChangeHandling, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 9]
Get cortical IDs array for Segmented Vision using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_accelerometer_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_accelerometer_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]
Get cortical area types array for Accelerometer using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_accelerometer_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_accelerometer_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Accelerometer using individual parameters.
Sourcepub const fn get_cortical_area_types_array_for_gyroscope_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
) -> [CorticalAreaType; 1]
pub const fn get_cortical_area_types_array_for_gyroscope_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, ) -> [CorticalAreaType; 1]
Get cortical area types array for Gyroscope using individual parameters.
Sourcepub const fn get_cortical_ids_array_for_gyroscope_with_parameters(
frame_change_handling: FrameChangeHandling,
percentage_neuron_positioning: PercentageNeuronPositioning,
cortical_unit_index: CorticalUnitIndex,
) -> [CorticalID; 1]
pub const fn get_cortical_ids_array_for_gyroscope_with_parameters( frame_change_handling: FrameChangeHandling, percentage_neuron_positioning: PercentageNeuronPositioning, cortical_unit_index: CorticalUnitIndex, ) -> [CorticalID; 1]
Get cortical IDs array for Gyroscope using individual parameters.
pub const fn get_snake_case_name(&self) -> &'static str
Sourcepub fn from_snake_case_name(name: &str) -> Option<SensoryCorticalUnit>
pub fn from_snake_case_name(name: &str) -> Option<SensoryCorticalUnit>
Sourcepub const fn list_all() -> &'static [SensoryCorticalUnit]
pub const fn list_all() -> &'static [SensoryCorticalUnit]
Returns all available sensory cortical unit types. This is useful for enumerating all possible sensor types in the system.
Sourcepub const fn get_friendly_name(&self) -> &'static str
pub const fn get_friendly_name(&self) -> &'static str
Returns the friendly (human-readable) name for this sensory cortical unit type.
Sourcepub const fn get_cortical_id_unit_reference(&self) -> [u8; 3]
pub const fn get_cortical_id_unit_reference(&self) -> [u8; 3]
Returns the 3-byte cortical ID unit reference for this type. // TODO delete me!
Sourcepub const fn get_number_cortical_areas(&self) -> usize
pub const fn get_number_cortical_areas(&self) -> usize
Returns the number of cortical areas this type creates.
Sourcepub const fn get_accepted_wrapped_io_data_type(&self) -> &'static str
pub const fn get_accepted_wrapped_io_data_type(&self) -> &'static str
Returns the accepted wrapped IO data type name for this sensory unit type.
Sourcepub fn get_unit_default_topology(
&self,
) -> HashMap<CorticalSubUnitIndex, UnitTopology>
pub fn get_unit_default_topology( &self, ) -> HashMap<CorticalSubUnitIndex, UnitTopology>
Returns the default topology for all units of this cortical type.
Sourcepub fn get_allowed_frame_change_handling(
&self,
) -> Option<&'static [FrameChangeHandling]>
pub fn get_allowed_frame_change_handling( &self, ) -> Option<&'static [FrameChangeHandling]>
Returns the allowed frame change handling modes from the template, if restricted. If None is returned, all frame change handling modes are allowed. If Some is returned, only the specified modes are valid.
pub fn get_cortical_id_vector_from_index_and_serde_io_configuration_flags( &self, cortical_unit_index: CorticalUnitIndex, map: Map<String, Value>, ) -> Result<Vec<CorticalID>, FeagiDataError>
Trait Implementations§
Source§impl Clone for SensoryCorticalUnit
impl Clone for SensoryCorticalUnit
Source§fn clone(&self) -> SensoryCorticalUnit
fn clone(&self) -> SensoryCorticalUnit
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SensoryCorticalUnit
impl Debug for SensoryCorticalUnit
Source§impl<'de> Deserialize<'de> for SensoryCorticalUnit
impl<'de> Deserialize<'de> for SensoryCorticalUnit
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for SensoryCorticalUnit
impl Display for SensoryCorticalUnit
Source§impl Hash for SensoryCorticalUnit
impl Hash for SensoryCorticalUnit
Source§impl PartialEq for SensoryCorticalUnit
impl PartialEq for SensoryCorticalUnit
Source§impl Serialize for SensoryCorticalUnit
impl Serialize for SensoryCorticalUnit
impl Copy for SensoryCorticalUnit
impl Eq for SensoryCorticalUnit
impl StructuralPartialEq for SensoryCorticalUnit
Auto Trait Implementations§
impl Freeze for SensoryCorticalUnit
impl RefUnwindSafe for SensoryCorticalUnit
impl Send for SensoryCorticalUnit
impl Sync for SensoryCorticalUnit
impl Unpin for SensoryCorticalUnit
impl UnwindSafe for SensoryCorticalUnit
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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