Changeset - 7e8e32dead20
[Not reviewed]
default
0 1 0
Ethan Zonca - 10 years ago 2014-11-14 23:12:59
ez@ethanzonca.com
Setpoint setting code compiles
1 file changed with 43 insertions and 51 deletions:
main.c
43
51
0 comments (0 inline, 0 general)
main.c
Show inline comments
 
@@ -43,6 +43,7 @@ enum state {
 
    STATE_SETP,
 
    STATE_SETI,
 
    STATE_SETD,
 
    STATE_SETSTEPS,
 
    STATE_SETWINDUP,
 
    STATE_SETBOOTTOBREW,
 
 
@@ -362,58 +363,10 @@ int16_t last_temp = 21245;
 
 
///////////////////////////////////////////////////////////////////////////////////////
 
/// freaking multiple setpoint support ///
 
uint8_t step_duration[10];
 
int16_t step_setpoint[10];
 
uint8_t step_duration[10] = {0,0,0,0,0,0,0,0,0,0};
 
int16_t step_setpoint[10] = {0,0,0,0,0,0,0,0,0,0};
 
uint8_t final_setpoint = 0;
 
 
void stepper_init() 
 
{
 
    int i;
 
    for(i=0; i<10; i++)
 
    {
 
        step_duration[i] = 0;
 
        step_setpoint[i] = 0;
 
    }
 
}
 
 
void state_setstepper()
 
{
 
    // Write text to OLED
 
    // [ step #1:: Duration: ### ]
 
    // [           Setpoint: ### ]
 
    char tempstr[6];
 
 
    itoa(stepnum, tempstr);
 
    ssd1306_DrawString("Step #", 0, 0);
 
    ssd1306_DrawString(tempstr, 0, 40);
 
 
    ssd1306_DrawString("Duration: ", 0, 5);
 
    itoa(step_duration[final_setpoint], tempstr);
 
    ssd1306_DrawString(tempstr, 0, 70);
 
 
    ssd1306_DrawString("Setpoint: ", 0, 0);
 
    itoa(step_setpoint[final_setpoint], tempstr);
 
    itoa(stepnum, tempstr);
 
 
    ssd1306_DrawString("Press to accept", 3, 40);
 
    
 
    // Button handler - TODO: increment max_step if pressed
 
    // return and go to next state otherwise
 
    if(SW_BTN_PRESSED) {
 
        state = STATE_SETSTEPPER;
 
        final_setpoint++
 
    }
 
    else if(SW_LEFT_PRESSED) {
 
        state++; // go to next state or something
 
    }
 
    else {
 
        user_input(&k_p);
 
    }
 
 
    // Event Handler
 
    // N/A
 
}
 
 
// Multiple screens to set setpoint and duration on each screen
 
// press center to go to the next one, and press left or right or something to confirm
 
 
@@ -576,7 +529,7 @@ void machine()
 
 
            // Button handler
 
            if(SW_BTN_PRESSED) {
 
                state = STATE_SETWINDUP;
 
                state = STATE_SETSTEPS;
 
            }
 
            else {
 
                user_input(&k_d);
 
@@ -587,6 +540,45 @@ void machine()
 
 
 
        } break;
 
 
        case STATE_SETSTEPS:
 
        {
 
            // Write text to OLED
 
            // [ step #1:: Duration: ### ]
 
            // [           Setpoint: ### ]
 
            char tempstr[6];
 
 
            itoa(final_setpoint, tempstr);
 
            ssd1306_DrawString("Step #", 0, 0);
 
            ssd1306_DrawString(tempstr, 0, 40);
 
 
            ssd1306_DrawString("Duration: ", 0, 5);
 
            itoa(step_duration[final_setpoint], tempstr);
 
            ssd1306_DrawString(tempstr, 0, 70);
 
 
            ssd1306_DrawString("Setpoint: ", 0, 0);
 
            itoa(step_setpoint[final_setpoint], tempstr);
 
            ssd1306_DrawString(tempstr, 0, 70);
 
 
            ssd1306_DrawString("Press to accept", 3, 40);
 
            
 
            // Button handler - TODO: increment max_step if pressed
 
            // return and go to next state otherwise
 
            if(SW_BTN_PRESSED) {
 
                state = STATE_SETSTEPS;
 
                final_setpoint++;
 
            }
 
        //    else if(SW_LEFT_PRESSED) {
 
        //        state++; // go to next state or something
 
        //    }
 
            else {
 
                user_input(&k_p);
 
            }
 
 
            // Event Handler
 
            // N/A
 
 
        } break;
 
 
        case STATE_SETWINDUP:
 
        {
 
            // Write text to OLED
0 comments (0 inline, 0 general)