Ejemplo n.º 1
0
void terminal_operation(ringbuf_t *tx, char *op0, char *op1, char *op2, char *op3) {
    if (!strcmp(op0, "help") || !strcmp(op0, "?")) {
        ringbuf_put_str(tx,
                "\t*****************************\n"
                "\t**** Charge Station 6.12 ****\n"
                "\t**** Made by @Ryokeri14  ****\n"
                "\t*****************************\n\n"
                "\tprint_time(t)\n"
                "\tadjust_time(at) [hand:y,M,d,h,m,s] [value(decimal)]\n"
                "\tsettings(set) [port:left(l),center(c),right(r)]\n\t\t[auto_stop(as),always_on(ao),integrating_reset(ir)]\n"
                "\toutput_data(od) <- stopped by pressing the Enter key\n"
                "\ttouch [reset(r),initialize(init)] [value(%)]\n"
                "\n\tfor Developper\n"
                "\tRESET();\n"
                "\tbootload\n"
                );
    }
    terminal_time(tx, op0, op1, op2);
    if (!strcmp(op0, "RESET();")) {
        RESET();
    }
    if (!strcmp(op0, "bootload")) {
        bootload();
    }
    if (!strcmp(op0, "od") || !strcmp(op0, "output_data")) {
        terminal_data_out = 1;
    }
    if (!strcmp(op0, "")) {
        terminal_data_out = 0;
    }
    if (!strcmp(op0, "touch")) {
        if (!strcmp(op1, "initialize") || !strcmp(op1, "init")) {
            uint8_t percentage = atoi(op2);
            if (percentage <= 100) {
                ctmu_ratio = percentage;
                ctmu_set_ratio(ctmu_ratio);
                ringbuf_put_str(tx, "\tinitializing complete\n");
            } else {
                ringbuf_put_str(tx, "\tinvalid data\n\tinitializing failed\n");
            }
        }
        if (!strcmp(op1, "reset") || !strcmp(op1, "r")) {
            ctmu_set_ratio(ctmu_ratio);
            ringbuf_put_str(tx, "\tseting complete\n");
        }
    }
}
Ejemplo n.º 2
0
void frame_process() {
    if(!frame_check_sync())
        return;

    Packet pkt = framebuf.packets[node_id];
    if(!packet_check_checksum(&pkt)) {
        /*leds_set(255, 0, 0);*/
        return;
    }

    switch(pkt.cmd_id) {
        case CMD_SYNC:
            return;
        case CMD_SET_ID:
            set_node_id(&pkt);
            break;
        case CMD_BOOTLOAD:
            bootload(&pkt);
            break;
        default:
            leds_set(pkt.r, pkt.g, pkt.b);
            sound_set(pkt.sound_id, pkt.sound_freq, pkt.sound_mag);
    }
}
Ejemplo n.º 3
0
void console_main(void)
{
	enum input_result_enum success;
	int option, tempint1, tempint2;

	char tempchar, finished=FALSE;
	do
	{
		TEXTOUT_P(PSTR("\r\n\
\r\n\
****** Main  Menu ******\r\n\
\r\n\
1. Upload new firmware\r\n\
2. Speed set\r\n\
3. Envelope set\r\n\
4. Enter\r\n\
5. Exit\r\n\
6. Finalize\r\n\
7. Tone\r\n\
8. Minor\r\n\
9. Major\r\n\
0. exit\r\n\
"));

		success=getint(&option, 0, 99);

		//if input failed, exit menu, or refresh menu
		if(success == INPUT_RESULT_TIMEOUT || success == INPUT_RESULT_ABORTED)
			finished=TRUE;
		else if(success == INPUT_RESULT_OK)
		{
			switch(option)
			{
				case 1:
					bootload();
					break;
				case 2:
					getint(&option, -40000, +40000);
					sheppard_speedset(option);
					break;
				case 3:
					TEXTOUT_P(PSTR("Center "));
					getint(&tempint1, 0, 255);
					TEXTOUT_P(PSTR("Width "));
					getint(&tempint2, 1, 200);
					sheppard_envelopeset(tempint1, tempint2);
					break;
				case 4:
					sheppard_enter();
					break;
				case 5:
					sheppard_exit();
					break;
				case 6:
					sheppard_finalize();
					break;
				case 7:
					sheppard_styleset(STYLE_TONE);
					break;
				case 8:
					sheppard_styleset(STYLE_MINOR);
					break;
				case 9:
					sheppard_styleset(STYLE_MAJOR);
					break;
				case 10:
					while(1)
					{
						if(interface_update_speed)
						{
							interface_update_speed=FALSE;
							TEXTOUT("Speed = ");
							TEXTOUT_INT(interface_output.speed);
							TEXTOUT("\r\n");
							time=2;
							while(time)
								main_fly();
						};

						if(interface_update_window)
						{
							interface_update_window=FALSE;
							if(interface_output.width_onoff)
							{
								TEXTOUT("Width = ");
								TEXTOUT_INT(interface_output.width);
								TEXTOUT("\r\nCenter = ");
								TEXTOUT_INT(interface_output.center);
								TEXTOUT("\r\n\r\n");
								sheppard_envelopeset(interface_output.center, interface_output.width);
							}
							else
							{
								TEXTOUT("Window off\r\n");
								sheppard_envelopeset(-1, 0);
							};
							time=2;
							while(time)
								main_fly();
						};
						main_fly();
					};
			};
		};//INPUT_RESULT_NIL will simply refresh

	}while(!finished);
	TEXTOUT_P(PSTR("Exit\r\n"));
}