Release candidate version. The pointer in GAS Pressure display is changed to a triangle.

Dependencies:   UniGraphic mbed vt100

Please note, at 2-Mar-2018 the current version of mbed-lib has a defect in Ticker.
https://os.mbed.com/forum/bugs-suggestions/topic/29287/

So, mbed lib version 157 is intentionally being used.
Please do not update mbed library until the problem in the above URL is fixed.

In this version, format of GAS Pressure Display has been changed.
/media/uploads/Rhyme/low.jpg

/media/uploads/Rhyme/good.jpg

/media/uploads/Rhyme/high.jpg

moto

afLib/Command.h

Committer:
Rhyme
Date:
2018-03-02
Revision:
0:774324cbc5a6

File content as of revision 0:774324cbc5a6:

/**
 * Copyright 2015 Afero, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef COMMAND_H__
#define COMMAND_H__

#include "mbed.h" //wsugi
#include <string> //wsugi

using namespace std; //wsugi

#define SPI_CMD_MAX_LEN  256

#define UPDATE_REASON_UNKNOWN               0
#define UPDATE_REASON_LOCAL_UPDATE          1
#define UPDATE_REASON_SERVICE_SET           2
#define UPDATE_REASON_MCU_SET               3
#define UPDATE_REASON_RELINK                4
#define UPDATE_REASON_REBOOT                5

class Command {
public:
    Command(uint16_t len, uint8_t *bytes);

    Command(uint8_t requestId, const char *str);

    Command(uint8_t requestId, uint8_t cmd, uint16_t attrId);

    Command(uint8_t requestId, uint8_t cmd, uint16_t attrId, uint16_t valueLen, uint8_t *value);

    Command(uint8_t requestId, uint8_t cmd, uint16_t attrId, uint8_t status, uint8_t reason, uint16_t valueLen,
            uint8_t *value);

    Command();

    ~Command();

    uint8_t getCommand();

    uint8_t getReqId();

    uint16_t getAttrId();

    uint16_t getValueLen();

    void getValue(uint8_t *value);

    uint8_t *getValueP();

    uint16_t getSize();

    uint16_t getBytes(uint8_t *bytes);

    bool isValid();

    void dump();

    void dumpBytes();

private:
    uint8_t getVal(char c);
    int strToValue(char *valueStr, uint8_t *value);

    uint8_t strToCmd(char *cmdStr);

    uint16_t strToAttrId(char *attrIdStr);

    uint16_t _len;
    uint8_t _cmd;
    uint8_t _requestId;
    uint16_t _attrId;
    uint8_t _status;
    uint8_t _reason;
    uint16_t _valueLen;
    uint8_t *_value;

    char _printBuf[256];

};

#endif // COMMAND_H__