Skip to content

KSU-MS/KS6e-VCU-firmware

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

design

the vcu CAN out is still TODO mostly, currently it spits out all RX / TX traffic

below is a loose flow of the data and what handles what

    graph LR;
        state_machine --> main_loop;
        main_loop --> mcu_state;

        pedal_handler --> state_machine;
        accumulator_handler --> state_machine;
        inverter --> state_machine;

        state_machine --> pedal_handler;
        state_machine --> accumulator_handler;
        state_machine --> inverter;
        state_machine --> dash;

        inverter --> VCU_CAN_OUT;
        accumulator_handler --> VCU_CAN_OUT;
        pedal_handler --> VCU_CAN_OUT;
        state_machine --> VCU_CAN_OUT;

       

Loading

This is tha basic of the state machien. the car is set to state

flowchart TD
        A[Initalize State Machine] -->|Set State to startup| B(Current state)
        B --> C(Check If Current state == New state) -->|NEW = OLD| B(Current state)
        C --> |New *does not equal* OLD| D(run exit logic)
        D --> E(run exit logic)
        E --> F(run exit logic)
        F --> B(Current State) 
Loading
flowchart TD
    A[State set to TRACTIVE_SYSTEM_NOT_ACTIVE] -->|Enter Entry logic| B(TRACTIVE_SYSTEM_NOT_ACTIVE)
    
        B --> C(Force MC Discharge)
        C --> D(Set Dash LED Yellow)
        D --> E(Dash LED Wipe)
        E --> 

    B --> |Break to Handle| F(Handle State TRACTIVE_SYSTEM_NOT_ACTIVE)
        F --> G(Get max torque)
        G --> H(Get max RPM)
        H --> I(inverter kick 0)
        I --> J(check if precharge is attempted)
        J --> |Failure| K(set ACC_Ready to false)
        J --> |sucuess| L(set ACC_Ready to True)

        L(set ACC_Ready to True) --> M(check  if TS_active & Acc_ready)
    M --> |sucuess| N(set state to TRACTIVE_SYSTEM_ACTIVE)

Loading
flowchart TD
    A[Initalize] -->|start| B(check if PID_MODE is active)
    B -->|Yes| C{IDGAF}
    B -->|No| D(Check If PID_TC_MODE)
    D -->|Yes| E{ALSO IDGAF}
    D --> F(SET TORQUE TO ZERO)
    F --> G(SET TORQUES)

    G --> H(SET TORQUE 1)
    G --> I(SET TORQUE 2)

    G --> J(SET ACCLERATION PERCENTS)

    J --> K(SET TORQUE 1)
    J --> L(SET TORQUE 2)

    J --> M(SET TO PERCENTAGE*)
    M --> N(IS EXPO CURVE ON?)


    N -->|Yes| O{IDGAF}
    N -->|No| P(ENTER TORQUE CHECK)

    P --> Q(RETURN CALCULATED TORQUE)

Loading

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.2%
  • C 0.8%