A collection of Analog Devices drivers for the mbed platform

For additional information check out the mbed page of the Analog Devices wiki: https://wiki.analog.com/resources/tools-software/mbed-drivers-all

examples/drvdiag/driver_wrapper/cn0216_diag.cpp

Committer:
Adrian Suciu
Date:
2016-04-29
Revision:
13:66c8e4ce4ff1
Child:
17:b8356808e8ad

File content as of revision 13:66c8e4ce4ff1:

#include "mbed.h"
#include <stdio.h>
#include <vector>
#include <string>

#include "cn0216_diag.h"

extern Serial pc;
extern vector<string> cmdbuffer;

CN0216_Diag::CN0216_Diag(CN0216& cn) : dut(cn)
{

}

void CN0216_Diag::init(void)
{
    uint16_t weight = strtol(cmdbuffer[1].c_str(), NULL, 10);
    pc.printf("CN0216 initialized with %d calibration weight",weight);
    dut.init(weight);
}

void CN0216_Diag::calibrate(void)
{
    uint8_t step = strtol(cmdbuffer[1].c_str(), NULL, 16);
    pc.printf("Calibrating step %d ..",step);
    dut.calibrate(static_cast<CN0216::CalibrationStep_t>(step));
    pc.printf(".. DONE",step);
}

void CN0216_Diag::read_weight(void)
{
    pc.printf("Read weight is %f", dut.read_weight());
}