mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-08 04:27:12 +03:00
add "MISO" to system's spi_config
This commit is contained in:
@@ -76,6 +76,7 @@ static struct {
|
|||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
struct arg_int *data;
|
struct arg_int *data;
|
||||||
|
struct arg_int *miso;
|
||||||
struct arg_int *clk;
|
struct arg_int *clk;
|
||||||
struct arg_int *dc;
|
struct arg_int *dc;
|
||||||
struct arg_int *host;
|
struct arg_int *host;
|
||||||
@@ -453,6 +454,7 @@ static int do_spiconfig_cmd(int argc, char **argv){
|
|||||||
/* Check "--clk" option */
|
/* Check "--clk" option */
|
||||||
nerrors+=is_output_gpio(spiconfig_args.clk, f, &spi_config.sclk_io_num, true);
|
nerrors+=is_output_gpio(spiconfig_args.clk, f, &spi_config.sclk_io_num, true);
|
||||||
nerrors+=is_output_gpio(spiconfig_args.data, f, &spi_config.mosi_io_num, true);
|
nerrors+=is_output_gpio(spiconfig_args.data, f, &spi_config.mosi_io_num, true);
|
||||||
|
nerrors+=is_output_gpio(spiconfig_args.miso, f, &spi_config.miso_io_num, true);
|
||||||
nerrors+=is_output_gpio(spiconfig_args.dc, f, &dc, true);
|
nerrors+=is_output_gpio(spiconfig_args.dc, f, &dc, true);
|
||||||
nerrors+=is_output_gpio(spiconfig_args.host, f, &host, true);
|
nerrors+=is_output_gpio(spiconfig_args.host, f, &host, true);
|
||||||
|
|
||||||
@@ -1030,7 +1032,8 @@ static void register_spiconfig(void)
|
|||||||
{
|
{
|
||||||
spiconfig_args.clear = arg_lit0(NULL, "clear", "Clear configuration");
|
spiconfig_args.clear = arg_lit0(NULL, "clear", "Clear configuration");
|
||||||
spiconfig_args.clk = arg_int0("k", "clk", "<n>", "Clock GPIO");
|
spiconfig_args.clk = arg_int0("k", "clk", "<n>", "Clock GPIO");
|
||||||
spiconfig_args.data = arg_int0("d","data", "<n>","Data GPIO");
|
spiconfig_args.data = arg_int0("d","data", "<n>","Data OUT GPIO");
|
||||||
|
spiconfig_args.miso = arg_int0("d","miso", "<n>","Data IN GPIO");
|
||||||
spiconfig_args.dc = arg_int0("c","dc", "<n>", "DC GPIO");
|
spiconfig_args.dc = arg_int0("c","dc", "<n>", "DC GPIO");
|
||||||
spiconfig_args.host= arg_int0("h", "host", "1|2", "SPI Host Number");
|
spiconfig_args.host= arg_int0("h", "host", "1|2", "SPI Host Number");
|
||||||
spiconfig_args.end = arg_end(4);
|
spiconfig_args.end = arg_end(4);
|
||||||
|
|||||||
@@ -391,7 +391,7 @@ esp_err_t config_spi_set(const spi_bus_config_t * config, int host, int dc){
|
|||||||
esp_err_t err = ESP_OK;
|
esp_err_t err = ESP_OK;
|
||||||
char * config_buffer=calloc(buffer_size,1);
|
char * config_buffer=calloc(buffer_size,1);
|
||||||
if(config_buffer) {
|
if(config_buffer) {
|
||||||
snprintf(config_buffer,buffer_size,"data=%u,clk=%u,dc=%u,host=%u",config->mosi_io_num,config->sclk_io_num,dc,host);
|
snprintf(config_buffer,buffer_size,"data=%u,clk=%u,dc=%u,host=%u,miso=%d",config->mosi_io_num,config->sclk_io_num,dc,host,config->miso_io_num);
|
||||||
log_send_messaging(MESSAGING_INFO,"Updating SPI configuration to %s",config_buffer);
|
log_send_messaging(MESSAGING_INFO,"Updating SPI configuration to %s",config_buffer);
|
||||||
err = config_set_value(NVS_TYPE_STR, "spi_config", config_buffer);
|
err = config_set_value(NVS_TYPE_STR, "spi_config", config_buffer);
|
||||||
if(err!=ESP_OK){
|
if(err!=ESP_OK){
|
||||||
@@ -561,7 +561,7 @@ const set_GPIO_struct_t * get_gpio_struct(){
|
|||||||
*/
|
*/
|
||||||
const spi_bus_config_t * config_spi_get(spi_host_device_t * spi_host) {
|
const spi_bus_config_t * config_spi_get(spi_host_device_t * spi_host) {
|
||||||
char *nvs_item, *p;
|
char *nvs_item, *p;
|
||||||
static spi_bus_config_t spi = {
|
static EXT_RAM_ATTR spi_bus_config_t spi = {
|
||||||
.mosi_io_num = -1,
|
.mosi_io_num = -1,
|
||||||
.sclk_io_num = -1,
|
.sclk_io_num = -1,
|
||||||
.miso_io_num = -1,
|
.miso_io_num = -1,
|
||||||
@@ -572,6 +572,8 @@ const spi_bus_config_t * config_spi_get(spi_host_device_t * spi_host) {
|
|||||||
nvs_item = config_alloc_get_str("spi_config", CONFIG_SPI_CONFIG, NULL);
|
nvs_item = config_alloc_get_str("spi_config", CONFIG_SPI_CONFIG, NULL);
|
||||||
if (nvs_item) {
|
if (nvs_item) {
|
||||||
if ((p = strcasestr(nvs_item, "data")) != NULL) spi.mosi_io_num = atoi(strchr(p, '=') + 1);
|
if ((p = strcasestr(nvs_item, "data")) != NULL) spi.mosi_io_num = atoi(strchr(p, '=') + 1);
|
||||||
|
if ((p = strcasestr(nvs_item, "mosi")) != NULL) spi.mosi_io_num = atoi(strchr(p, '=') + 1);
|
||||||
|
if ((p = strcasestr(nvs_item, "miso")) != NULL) spi.miso_io_num = atoi(strchr(p, '=') + 1);
|
||||||
if ((p = strcasestr(nvs_item, "clk")) != NULL) spi.sclk_io_num = atoi(strchr(p, '=') + 1);
|
if ((p = strcasestr(nvs_item, "clk")) != NULL) spi.sclk_io_num = atoi(strchr(p, '=') + 1);
|
||||||
if ((p = strcasestr(nvs_item, "dc")) != NULL) spi_system_dc_gpio = atoi(strchr(p, '=') + 1);
|
if ((p = strcasestr(nvs_item, "dc")) != NULL) spi_system_dc_gpio = atoi(strchr(p, '=') + 1);
|
||||||
if ((p = strcasestr(nvs_item, "host")) != NULL) spi_system_host = atoi(strchr(p, '=') + 1);
|
if ((p = strcasestr(nvs_item, "host")) != NULL) spi_system_host = atoi(strchr(p, '=') + 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user