334 lines
6.7 KiB
Rust
334 lines
6.7 KiB
Rust
use crate::{BodyPattern, DashboardPattern, RGB};
|
|
use fixed::types::{I8F8, U16F0};
|
|
|
|
pub const RGB_OFF: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0"),
|
|
g: I8F8::lit("0"),
|
|
b: I8F8::lit("0"),
|
|
};
|
|
|
|
pub const RGB_WHITE: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("1"),
|
|
g: I8F8::lit("1"),
|
|
b: I8F8::lit("1"),
|
|
};
|
|
|
|
pub const BRAKES_RED: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("1"),
|
|
g: I8F8::lit("0"),
|
|
b: I8F8::lit("0"),
|
|
};
|
|
|
|
pub const BLINKER_AMBER: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("1"),
|
|
g: I8F8::lit("0.15"),
|
|
b: I8F8::lit("0"),
|
|
};
|
|
|
|
pub const PRIDE_RED: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0.95"),
|
|
g: I8F8::lit("0.00"),
|
|
b: I8F8::lit("0.00"),
|
|
};
|
|
|
|
pub const PRIDE_ORANGE: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("1.0"),
|
|
g: I8F8::lit("0.25"),
|
|
b: I8F8::lit("0"),
|
|
};
|
|
|
|
pub const PRIDE_YELLOW: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("1.0"),
|
|
g: I8F8::lit("0.85"),
|
|
b: I8F8::lit("0"),
|
|
};
|
|
|
|
pub const PRIDE_GREEN: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0"),
|
|
g: I8F8::lit("0.95"),
|
|
b: I8F8::lit("0.05"),
|
|
};
|
|
|
|
pub const PRIDE_INDIGO: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0.04"),
|
|
g: I8F8::lit("0.15"),
|
|
b: I8F8::lit("0.55"),
|
|
};
|
|
|
|
pub const PRIDE_VIOLET: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0.75"),
|
|
g: I8F8::lit("0.0"),
|
|
b: I8F8::lit("0.80"),
|
|
};
|
|
|
|
pub const TRANS_BLUE: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0.06"),
|
|
g: I8F8::lit("0.41"),
|
|
b: I8F8::lit("0.98"),
|
|
};
|
|
|
|
pub const TRANS_PINK: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0.96"),
|
|
g: I8F8::lit("0.16"),
|
|
b: I8F8::lit("0.32"),
|
|
};
|
|
|
|
pub const WATER_1: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0.0"),
|
|
g: I8F8::lit("0.0"),
|
|
b: I8F8::lit("0.75"),
|
|
};
|
|
|
|
pub const WATER_2: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0.8"),
|
|
g: I8F8::lit("0.8"),
|
|
b: I8F8::lit("0.8"),
|
|
};
|
|
|
|
pub const WATER_3: RGB<I8F8> = RGB {
|
|
r: I8F8::lit("0.00"),
|
|
g: I8F8::lit("0.75"),
|
|
b: I8F8::lit("0.75"),
|
|
};
|
|
|
|
pub const OFF_DASHBOARD: DashboardPattern = [RGB_OFF; 3];
|
|
pub const OFF_BODY: BodyPattern = [RGB_OFF; 60];
|
|
|
|
pub const DEFAULT_FRAMES: U16F0 = U16F0::lit("30");
|
|
|
|
pub const WATER_DASHBOARD: DashboardPattern = [WATER_1, WATER_2, WATER_3];
|
|
|
|
pub const WATER_BODY: BodyPattern = [RGB_OFF; 60];
|
|
|
|
pub const PRIDE_DASHBOARD: DashboardPattern = [PRIDE_RED, PRIDE_GREEN, PRIDE_INDIGO];
|
|
|
|
pub const PRIDE_BODY: BodyPattern = [
|
|
// Left Side
|
|
// Red
|
|
PRIDE_RED,
|
|
PRIDE_RED,
|
|
PRIDE_RED,
|
|
PRIDE_RED,
|
|
PRIDE_RED,
|
|
// Orange
|
|
PRIDE_ORANGE,
|
|
PRIDE_ORANGE,
|
|
PRIDE_ORANGE,
|
|
PRIDE_ORANGE,
|
|
PRIDE_ORANGE,
|
|
// Yellow
|
|
PRIDE_YELLOW,
|
|
PRIDE_YELLOW,
|
|
PRIDE_YELLOW,
|
|
PRIDE_YELLOW,
|
|
PRIDE_YELLOW,
|
|
// Green
|
|
PRIDE_GREEN,
|
|
PRIDE_GREEN,
|
|
PRIDE_GREEN,
|
|
PRIDE_GREEN,
|
|
PRIDE_GREEN,
|
|
// Indigo
|
|
PRIDE_INDIGO,
|
|
PRIDE_INDIGO,
|
|
PRIDE_INDIGO,
|
|
PRIDE_INDIGO,
|
|
PRIDE_INDIGO,
|
|
// Violet
|
|
PRIDE_VIOLET,
|
|
PRIDE_VIOLET,
|
|
PRIDE_VIOLET,
|
|
PRIDE_VIOLET,
|
|
PRIDE_VIOLET,
|
|
// Right Side
|
|
// Violet
|
|
PRIDE_VIOLET,
|
|
PRIDE_VIOLET,
|
|
PRIDE_VIOLET,
|
|
PRIDE_VIOLET,
|
|
PRIDE_VIOLET,
|
|
// Indigo
|
|
PRIDE_INDIGO,
|
|
PRIDE_INDIGO,
|
|
PRIDE_INDIGO,
|
|
PRIDE_INDIGO,
|
|
PRIDE_INDIGO,
|
|
// Green
|
|
PRIDE_GREEN,
|
|
PRIDE_GREEN,
|
|
PRIDE_GREEN,
|
|
PRIDE_GREEN,
|
|
PRIDE_GREEN,
|
|
// Yellow
|
|
PRIDE_YELLOW,
|
|
PRIDE_YELLOW,
|
|
PRIDE_YELLOW,
|
|
PRIDE_YELLOW,
|
|
PRIDE_YELLOW,
|
|
// Orange
|
|
PRIDE_ORANGE,
|
|
PRIDE_ORANGE,
|
|
PRIDE_ORANGE,
|
|
PRIDE_ORANGE,
|
|
PRIDE_ORANGE,
|
|
// Red
|
|
PRIDE_RED,
|
|
PRIDE_RED,
|
|
PRIDE_RED,
|
|
PRIDE_RED,
|
|
PRIDE_RED,
|
|
];
|
|
|
|
pub const TRANS_PRIDE_DASHBOARD: DashboardPattern = [TRANS_BLUE, RGB_WHITE, TRANS_PINK];
|
|
|
|
pub const TRANS_PRIDE_BODY: BodyPattern = [
|
|
// Left Side
|
|
TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_PINK, TRANS_PINK,
|
|
TRANS_PINK, TRANS_PINK, TRANS_PINK, TRANS_PINK, RGB_WHITE, RGB_WHITE, RGB_WHITE, RGB_WHITE,
|
|
RGB_WHITE, RGB_WHITE, TRANS_PINK, TRANS_PINK, TRANS_PINK, TRANS_PINK, TRANS_PINK, TRANS_PINK,
|
|
TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE,
|
|
// Right side
|
|
TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_PINK, TRANS_PINK,
|
|
TRANS_PINK, TRANS_PINK, TRANS_PINK, TRANS_PINK, RGB_WHITE, RGB_WHITE, RGB_WHITE, RGB_WHITE,
|
|
RGB_WHITE, RGB_WHITE, TRANS_PINK, TRANS_PINK, TRANS_PINK, TRANS_PINK, TRANS_PINK, TRANS_PINK,
|
|
TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE, TRANS_BLUE,
|
|
];
|
|
|
|
pub const BRAKES_FRAMES: U16F0 = U16F0::lit("15");
|
|
|
|
pub const BRAKES_DASHBOARD: DashboardPattern = [BRAKES_RED; 3];
|
|
|
|
pub const BRAKES_BODY: BodyPattern = [BRAKES_RED; 60];
|
|
|
|
pub const BLINKER_FRAMES: U16F0 = U16F0::lit("10");
|
|
|
|
pub const LEFT_BLINKER_DASHBOARD: DashboardPattern = [BLINKER_AMBER, RGB_OFF, RGB_OFF];
|
|
|
|
pub const LEFT_BLINKER_BODY: BodyPattern = [
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
];
|
|
|
|
pub const RIGHT_BLINKER_DASHBOARD: DashboardPattern = [RGB_OFF, RGB_OFF, BLINKER_AMBER];
|
|
|
|
pub const RIGHT_BLINKER_BODY: BodyPattern = [
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
RGB_OFF,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
BLINKER_AMBER,
|
|
];
|