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

View File

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

View File

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

View File

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