Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
/* Copyright (C) 2020 NANDO authors
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3.
*/
#include "spi_chip_info.h"
typedef struct __attribute__((__packed__))
{
uint8_t page_offset;
uint8_t read_cmd;
uint8_t read_id_cmd;
uint8_t write_cmd;
uint8_t write_en_cmd;
uint8_t erase_cmd;
uint8_t status_cmd;
uint8_t busy_bit;
uint8_t busy_state;
uint32_t freq;
} SpiChipConf;
SpiChipInfo::SpiChipInfo()
{
hal = CHIP_HAL_SPI;
}
SpiChipInfo::~SpiChipInfo()
{
}
const QByteArray &SpiChipInfo::getHalConf()
{
SpiChipConf conf;
conf.page_offset = static_cast<uint8_t>(params[CHIP_PARAM_PAGE_OFF]);
conf.read_cmd = static_cast<uint8_t>(params[CHIP_PARAM_READ_CMD]);
conf.read_id_cmd = static_cast<uint8_t>(params[CHIP_PARAM_READ_ID_CMD]);
conf.write_cmd = static_cast<uint8_t>(params[CHIP_PARAM_WRITE_CMD]);
conf.write_en_cmd = static_cast<uint8_t>(params[CHIP_PARAM_WRITE_EN_CMD]);
conf.erase_cmd = static_cast<uint8_t>(params[CHIP_PARAM_ERASE_CMD]);
conf.status_cmd = static_cast<uint8_t>(params[CHIP_PARAM_STATUS_CMD]);
conf.busy_bit = static_cast<uint8_t>(params[CHIP_PARAM_BUSY_BIT]);
conf.busy_state = static_cast<uint8_t>(params[CHIP_PARAM_BUSY_STATE]);
conf.freq = params[CHIP_PARAM_FREQ];
halConf.clear();
halConf.append(reinterpret_cast<const char *>(&conf), sizeof(conf));
return halConf;
}
quint64 SpiChipInfo::getParam(uint32_t num)
{
if (num >= CHIP_PARAM_NUM)
return 0;
return params[num];
}
int SpiChipInfo::setParam(uint32_t num, quint64 value)
{
if (num >= CHIP_PARAM_NUM)
return -1;
params[num] = value;
return 0;
}
4d840b7afThis file is pinned to the selected release. Download the original to open it in your design tool.