Remove inclusion of mbed.h from FPGA

And fix any build errors this caused.
pull/10540/head
Russ Butler 2019-05-07 17:01:44 -05:00
parent b3332129b2
commit 11bd96601b
4 changed files with 48 additions and 39 deletions

View File

@ -18,7 +18,6 @@
#ifndef DYNAMIC_PIN_LIST_H
#define DYNAMIC_PIN_LIST_H
#include "mbed.h"
#include "pinmap.h"
#include <vector>
@ -87,7 +86,7 @@ public:
int index(PinName pin) const;
private:
vector<PinName> _pins;
std::vector<PinName> _pins;
};
#endif

View File

@ -18,6 +18,9 @@
#include "MbedTester.h"
#include "fpga_config.h"
#include "BlockDevice.h"
#include "platform/mbed_wait_api.h"
#include "platform/mbed_error.h"
#include "drivers/MbedCRC.h"
#define mbed_tester_printf(...)
@ -76,7 +79,7 @@ private:
uint32_t _bitmap[(width + 31) / 32];
};
static uint8_t spi_transfer(DigitalInOut *clk, DigitalInOut *mosi, DigitalInOut *miso, uint8_t data)
static uint8_t spi_transfer(mbed::DigitalInOut *clk, mbed::DigitalInOut *mosi, mbed::DigitalInOut *miso, uint8_t data)
{
uint8_t ret = 0;
for (int i = 0; i < 8; i++) {
@ -90,7 +93,7 @@ static uint8_t spi_transfer(DigitalInOut *clk, DigitalInOut *mosi, DigitalInOut
return ret;
}
static void mbed_tester_command(DigitalInOut *clk, DigitalInOut *mosi, DigitalInOut *miso, uint8_t miso_index, uint32_t addr, bool write_n_read, uint8_t *data, uint8_t size)
static void mbed_tester_command(mbed::DigitalInOut *clk, mbed::DigitalInOut *mosi, mbed::DigitalInOut *miso, uint8_t miso_index, uint32_t addr, bool write_n_read, uint8_t *data, uint8_t size)
{
// 8 - Start Key
for (uint32_t i = 0; i < sizeof(KEY); i++) {
@ -126,7 +129,7 @@ static void mbed_tester_command(DigitalInOut *clk, DigitalInOut *mosi, DigitalIn
}
static bool mbed_tester_test(DigitalInOut *clk, DigitalInOut *mosi, DigitalInOut *miso, uint8_t miso_index)
static bool mbed_tester_test(mbed::DigitalInOut *clk, mbed::DigitalInOut *mosi, mbed::DigitalInOut *miso, uint8_t miso_index)
{
uint8_t buf[4];
memset(buf, 0, sizeof(buf));
@ -138,7 +141,7 @@ static bool mbed_tester_test(DigitalInOut *clk, DigitalInOut *mosi, DigitalInOut
class MbedTesterBlockDevice : public BlockDevice {
public:
MbedTesterBlockDevice(DigitalInOut &mosi, DigitalInOut &miso, DigitalInOut &clk, DigitalInOut &cs, uint32_t frequency)
MbedTesterBlockDevice(mbed::DigitalInOut &mosi, mbed::DigitalInOut &miso, mbed::DigitalInOut &clk, mbed::DigitalInOut &cs, uint32_t frequency)
: _mosi(mosi), _miso(miso), _clk(clk), _cs(cs), _wait_ns(1000000000 / frequency / 2), _init(false) {
// Set initial values
@ -430,10 +433,10 @@ protected:
wait_ns(_wait_ns);
}
DigitalInOut &_mosi;
DigitalInOut &_miso;
DigitalInOut &_clk;
DigitalInOut &_cs;
mbed::DigitalInOut &_mosi;
mbed::DigitalInOut &_miso;
mbed::DigitalInOut &_clk;
mbed::DigitalInOut &_cs;
uint32_t _wait_ns;
bool _init;
};
@ -636,12 +639,12 @@ void MbedTester::set_control_pins_manual(PinName clk, PinName mosi, PinName miso
_control_valid = true;
}
bool MbedTester::firmware_dump(FileHandle *dest, Callback<void(uint8_t)> progress)
bool MbedTester::firmware_dump(mbed::FileHandle *dest, mbed::Callback<void(uint8_t)> progress)
{
_update_control_pins();
if (!progress) {
progress = callback(dummy_progress);
progress = mbed::callback(dummy_progress);
}
// Mapping intentionally different from control channel to prevent
@ -717,12 +720,12 @@ bool MbedTester::firmware_dump(FileHandle *dest, Callback<void(uint8_t)> progres
return true;
}
bool MbedTester::firmware_dump_all(FileHandle *dest, Callback<void(uint8_t)> progress)
bool MbedTester::firmware_dump_all(mbed::FileHandle *dest, mbed::Callback<void(uint8_t)> progress)
{
_update_control_pins();
if (!progress) {
progress = callback(dummy_progress);
progress = mbed::callback(dummy_progress);
}
// Mapping intentionally different from control channel to prevent
@ -770,12 +773,12 @@ bool MbedTester::firmware_dump_all(FileHandle *dest, Callback<void(uint8_t)> pro
return true;
}
bool MbedTester::firmware_update(FileHandle *src, Callback<void(uint8_t)> progress)
bool MbedTester::firmware_update(mbed::FileHandle *src, mbed::Callback<void(uint8_t)> progress)
{
_update_control_pins();
if (!progress) {
progress = callback(dummy_progress);
progress = mbed::callback(dummy_progress);
}
// Mapping intentionally different from control channel to prevent
@ -814,7 +817,7 @@ bool MbedTester::firmware_update(FileHandle *src, Callback<void(uint8_t)> progre
// Setup CRC calculation
uint32_t crc;
MbedCRC<POLY_32BIT_ANSI, 32> ct;
mbed::MbedCRC<POLY_32BIT_ANSI, 32> ct;
if (ct.compute_partial_start(&crc) != 0) {
sys_pin_mode_disabled();
return false;
@ -1156,9 +1159,9 @@ int MbedTester::io_expander_i2c_read(uint8_t i2c_index, uint8_t dev_addr, uint8_
//sda_val = _aux_index
//scl_in = _mosi_index (PHYSICAL_NC)
//scl_val = _clk_index
DigitalInOut *sda_in = _miso;
DigitalInOut *sda_val = _aux;
DigitalInOut *scl_val = _clk;
mbed::DigitalInOut *sda_in = _miso;
mbed::DigitalInOut *sda_val = _aux;
mbed::DigitalInOut *scl_val = _clk;
sda_in->input();
sda_val->output();
*sda_val = 1;
@ -1295,9 +1298,9 @@ int MbedTester::io_expander_i2c_write(uint8_t i2c_index, uint8_t dev_addr, uint8
//sda_val = _aux_index
//scl_in = _mosi_index (PHYSICAL_NC)
//scl_val = _clk_index
DigitalInOut *sda_in = _miso;
DigitalInOut *sda_val = _aux;
DigitalInOut *scl_val = _clk;
mbed::DigitalInOut *sda_in = _miso;
mbed::DigitalInOut *sda_val = _aux;
mbed::DigitalInOut *scl_val = _clk;
sda_in->input();
sda_val->output();
*sda_val = 1;
@ -2205,15 +2208,15 @@ bool MbedTester::_find_control_indexes(PhysicalIndex &clk_out, PhysicalIndex &mo
// Free CLK and MOSI pins found. Mark them as unavailable
allowed.clear(clk_index);
allowed.clear(mosi_index);
DigitalInOut clk(_form_factor.get(clk_index), PIN_OUTPUT, ::PullNone, 0);
DigitalInOut mosi(_form_factor.get(mosi_index), PIN_OUTPUT, ::PullNone, 0);
mbed::DigitalInOut clk(_form_factor.get(clk_index), PIN_OUTPUT, ::PullNone, 0);
mbed::DigitalInOut mosi(_form_factor.get(mosi_index), PIN_OUTPUT, ::PullNone, 0);
for (uint8_t miso_index = 0; miso_index < max_pins; miso_index++) {
if (!allowed.get(miso_index)) {
continue;
}
DigitalInOut miso(_form_factor.get(miso_index));
mbed::DigitalInOut miso(_form_factor.get(miso_index));
if (!mbed_tester_test(&clk, &mosi, &miso, miso_index)) {
// Pin doesn't work
continue;
@ -2225,7 +2228,7 @@ bool MbedTester::_find_control_indexes(PhysicalIndex &clk_out, PhysicalIndex &mo
continue;
}
DigitalInOut aux(_form_factor.get(aux_index));
mbed::DigitalInOut aux(_form_factor.get(aux_index));
if (!mbed_tester_test(&clk, &mosi, &aux, aux_index)) {
// Pin doesn't work
continue;
@ -2259,10 +2262,10 @@ bool MbedTester::_find_control_indexes(PhysicalIndex &clk_out, PhysicalIndex &mo
void MbedTester::_setup_control_pins()
{
_clk = new DigitalInOut(_form_factor.get(_clk_index), PIN_OUTPUT, ::PullNone, 0);
_mosi = new DigitalInOut(_form_factor.get(_mosi_index), PIN_OUTPUT, ::PullNone, 0);
_miso = new DigitalInOut(_form_factor.get(_miso_index));
_aux = new DigitalInOut(_form_factor.get(_aux_index));
_clk = new mbed::DigitalInOut(_form_factor.get(_clk_index), PIN_OUTPUT, ::PullNone, 0);
_mosi = new mbed::DigitalInOut(_form_factor.get(_mosi_index), PIN_OUTPUT, ::PullNone, 0);
_miso = new mbed::DigitalInOut(_form_factor.get(_miso_index));
_aux = new mbed::DigitalInOut(_form_factor.get(_aux_index));
}
void MbedTester::_free_control_pins()

View File

@ -18,8 +18,10 @@
#ifndef MBED_TESTER_H
#define MBED_TESTER_H
#include "mbed.h"
#include "DynamicPinList.h"
#include "platform/FileHandle.h"
#include "platform/Callback.h"
#include "drivers/DigitalInOut.h"
class MbedTester {
public:
@ -156,7 +158,7 @@ public:
* @param progress Optional progress callback called when the percent complete changes
* @return true if firmware was successfully read, false otherwise
*/
bool firmware_dump(FileHandle *dest, Callback<void(uint8_t)> progress = Callback<void(uint8_t)>());
bool firmware_dump(mbed::FileHandle *dest, mbed::Callback<void(uint8_t)> progress = mbed::Callback<void(uint8_t)>());
/**
* Read FPGA CI Test Shield flash
@ -168,7 +170,7 @@ public:
* @param progress Optional progress callback called when the percent complete changes
* @return true if firmware was successfully read, false otherwise
*/
bool firmware_dump_all(FileHandle *dest, Callback<void(uint8_t)> progress = Callback<void(uint8_t)>());
bool firmware_dump_all(mbed::FileHandle *dest, mbed::Callback<void(uint8_t)> progress = mbed::Callback<void(uint8_t)>());
/**
* Program new FPGA CI Test Shield firmware
@ -184,7 +186,7 @@ public:
* @param progress Optional progress callback called when the percent complete changes
* @return true if firmware was successfully applied, false otherwise
*/
bool firmware_update(FileHandle *src, Callback<void(uint8_t)> progress = Callback<void(uint8_t)>());
bool firmware_update(mbed::FileHandle *src, mbed::Callback<void(uint8_t)> progress = mbed::Callback<void(uint8_t)>());
/**
* Map a physical pin to the given logical pin
@ -864,10 +866,10 @@ private:
PhysicalIndex _mosi_index;
PhysicalIndex _miso_index;
PhysicalIndex _aux_index;
DigitalInOut *_clk;
DigitalInOut *_mosi;
DigitalInOut *_miso;
DigitalInOut *_aux;
mbed::DigitalInOut *_clk;
mbed::DigitalInOut *_mosi;
mbed::DigitalInOut *_miso;
mbed::DigitalInOut *_aux;
/*
* Used to reset IO expander chips only once the first time
* any IO expander is accessed as well as during an io_exp_test

View File

@ -383,6 +383,7 @@ public:
};
#if DEVICE_SPI
#include "spi_api.h"
struct SPIMaps {
static const PinMap *maps[];
static const char *const pin_type_names[];
@ -415,6 +416,7 @@ typedef Port<4, SPISlaveMaps, DefaultFormFactor, TF4> SPISlavePort;
#endif
#if DEVICE_I2C
#include "i2c_api.h"
struct I2CMaps {
static const PinMap *maps[];
static const char *const pin_type_names[];
@ -427,6 +429,7 @@ typedef Port<2, I2CMaps, DefaultFormFactor, TF2> I2CPort;
#endif
#if DEVICE_PWMOUT
#include "pwmout_api.h"
struct PWMMaps {
static const PinMap *maps[];
static const char *const pin_type_names[];
@ -439,6 +442,7 @@ typedef Port<1, PWMMaps, DefaultFormFactor, TF1> PWMPort;
#endif
#if DEVICE_ANALOGIN
#include "analogin_api.h"
struct AnaloginMaps {
static const PinMap *maps[];
static const char *const pin_type_names[];
@ -451,6 +455,7 @@ typedef Port<1, AnaloginMaps, DefaultFormFactor, TF1> AnaloginPort;
#endif
#if DEVICE_ANALOGOUT
#include "analogout_api.h"
struct AnalogoutMaps {
static const PinMap *maps[];
static const char *const pin_type_names[];