Exemplo n.º 1
0
        public void sendCommand(ECOMMAND_TYPE type)
        {
            switch (type)
            {
            case ECOMMAND_TYPE.EA:
                writeCommand("<EA_>");
                break;

            case ECOMMAND_TYPE.CS:
                if (!is_running || tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand(String.Format("<CS_{0:D3}>", (int)(speed_target * 10)));
                break;

            case ECOMMAND_TYPE.CR:
                if (!is_running || tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand(String.Format("<CR_{0:D3},{1:D3}>", incline_target * 10, Constants.SPEEDRATIO));
                break;

            case ECOMMAND_TYPE.CC:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand("<CC_>");
                break;

            case ECOMMAND_TYPE.CU:
                if (!is_running || tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand(String.Format("<CU_{0:D2},{1:D3},{2:D1}>", user.age, user.weight, user.isMale ? 1 : 0));
                break;

            case ECOMMAND_TYPE.CT:
                if (!is_running || tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand(String.Format("<CT_{0:D3},{1:D3}>", heartbeat_limit, watt_target));
                break;

            case ECOMMAND_TYPE.CP:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                float tmp = 0;
                if (is_running)
                {
                    tmp = Constants.stop_tm_in_x_sec;
                }
                is_running = !is_running;
                writeCommand(String.Format("<CP_{0:N0}>", 10 * tmp));
                break;

            case ECOMMAND_TYPE.WT:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand("<WT_7>");
                break;

            case ECOMMAND_TYPE.CF:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand(String.Format("<CF_{0:D3},{1:D3}>", fan_target, Constants.SPEEDRATIO));
                break;

            case ECOMMAND_TYPE.CG:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand(String.Format("<CG_{0:D1}>", is_reversion ? 1 : 0));
                break;

            case ECOMMAND_TYPE.CM:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand(String.Format("<CM_{0:D3}>", pressure_target));
                break;

            case ECOMMAND_TYPE.FF:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand(String.Format("<FF_{0:D2}>", inline_mode));
                break;

            case ECOMMAND_TYPE.AT:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand("<AT_>");
                break;

            case ECOMMAND_TYPE.SLEEP:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand("<SLEEP_>");
                break;

            case ECOMMAND_TYPE.DLOAD:
                if (tm_state != ETM_STATE.CONNECTED)
                {
                    break;
                }
                writeCommand("<DLOAD_>");
                break;

            default:
                WriteLineToConsole("cmd " + type + " not implemented");
                break;
            }
        }
Exemplo n.º 2
0
        void sendCommand(ECOMMAND_TYPE type)
        {
            switch (type)
            {
            case ECOMMAND_TYPE.EP:
                writeCommand(String.Format("<EP_{0}>", machine_producer));
                break;

            case ECOMMAND_TYPE.ET:
                writeCommand("<ET_" + machine_type + ">");
                break;

            case ECOMMAND_TYPE.EM:
                writeCommand("<EM_" + model_name + ">");
                break;

            case ECOMMAND_TYPE.ER:
                writeCommand(String.Format("<ER_{0:D2},{1:D2}>", min_incline, max_incline));
                break;

            case ECOMMAND_TYPE.ES:
                writeCommand(String.Format("<ES_{0:D3},{1:D3}>", 10 * min_speed, 10 * max_speed));
                break;

            case ECOMMAND_TYPE.EV:
                writeCommand("<EV_" + sw_name + "," + sw_version + "," + comsw_version + ">");
                break;

            case ECOMMAND_TYPE.ED:
                writeCommand(String.Format("<ED_{0:D4}>", (int)(100 * wheel_dim)));
                break;

            case ECOMMAND_TYPE.EU:
                writeCommand("<EU_" + unit_type + ">");
                break;

            case ECOMMAND_TYPE.EI:
                writeCommand("<EI_" + reserved_param_1 + "," + reserved_param_2 + "," + reserved_param_3 + ">");
                break;

            case ECOMMAND_TYPE.EZ:
                writeCommand("<EZ_Q>");
                break;

            case ECOMMAND_TYPE.CP:
                writeCommand("<CP_OK>");
                break;

            case ECOMMAND_TYPE.WT:
                writeCommand("<WT_>");
                break;

            case ECOMMAND_TYPE.WS:
                writeCommand(wS.ToCmdString());
                break;

            case ECOMMAND_TYPE.W7:
                writeCommand(w7.ToCmdString());
                break;

            default:
                WriteLineToConsole("SENDING INVALID COMMAND: " + type);
                break;
            }
        }