Katanafloor - Pedalera USB para Katana

lutop
#85 por lutop el 05/06/2020
#83

Como va la pedalera?

Yo hoy me he decidido a modificar un poco el software y he conseguido arreglar el comportamiento de los LEDs (recordar que en mi pedalera los LEDs) se bloqueaban de vez en cuando si habia muchos datos por el usb). Basicamente he metido la multiplexion de los LEDs dentro de una interrupcion con un timer, y asi me aseguro que siempre se refrescan aunque el arduino este ocupado haciendo otras cosas.

En cuanto pueda subo la nueva version.

Saludos
Subir
OFERTASVer todas
  • -39%
    Headrush MX5
    298 €
    Ver oferta
  • -29%
    Boss T-Shirt CCB-MT2TMC (Talla M)
    15 €
    Ver oferta
  • -39%
    Boss RV-200 Reverb
    159 €
    Ver oferta
lutop
#86 por lutop el 05/06/2020
Lo prometido es deuda. Aqui teneis la version mejorada con interrupciones para los LEDs. Basicamente soluciona el problema de los LEDs parpadeando como locos entre cambios de canal y mientras se utiliza el pedal de expresion.
No es necesario si utlizais un shift register o similar.
Subir
frandelrio
#87 por frandelrio el 06/06/2020
Hola buenas.

La pedalera va bien, poco a poco. Ya tengo el cambio de canales funcionando perfectamente. Como mi amplificador es el katana 50, solo tiene 4 canales y para no tener que cambiar de banco he hecho que cada botón cambie de canal. Y me ha dado problemillas, ya que los canales son el 1,2,5,6. Y el 0 para el panel. Ahora me estoy peleando con los estados de los efectos, para mostrarlos en la pantalla oled que he pedido. Mientras llega, lo estoy probando con el puerto serie. Estoy viendo todo lo que se puede, mostrar y eligiendo con qué me voy a quedar. Luego me pondré con la activación/ desactivación de efectos. Pero aquí puedes controlar lo que quieras. Tiene mucho potencial.

Lo que me surge es una duda. Una vez que tenga la parte básica, es decir, cambio de canales, activación/ desactivación de efectos y visualización de datos en la pantalla, como paso el proyecto de prototipo a definitivo? Me refiero a que estoy usando una breadboard y pulsadores de los que vienen en los kits de arduino. Para pasarlo a pulsadores reales y para no usar los cables con los pinchos, qué hay que hacer?
Subir
frandelrio
#88 por frandelrio el 10/06/2020
Hola buenas,
ya me ha llegado la pantalla.
Ya soy capaz de cambiar de canal y mostrarlo en la pantalla.
Ahora estoy liado con los efectos.
Soy capaz de poner en pantalla el efecto (Booster,Mod,FX,..) y si está activado o desactivado.
Pero no soy capaz de poner el nombre.
Cuando lo hago se reinicia el arduino.

Este es el código:

static const char *amp_list[] {"Nat Cln", "ACOUSTC", "CmCrnch", "StCrnch", "HiGnStk", "Pwr Drv", "ExtLead", "CoreMtl", "CLEAN ", "ClnTwin",
"PrCrnch", "CRUNCH ", "DxCrnch", "VoDrive", "VO Lead", "MtchDrv", "BG Lead", "BgDrive", "MS-59 I", "MS59 II",
"RFr Vnt", "RFrMdrn", "TAmp Ld", "BROWN ", "LEAD ", "Custom "
};

switch (CHECK_THIS) {
case P_AMP:
a = (byte_array);
// txt = String(amp_list[a]);
txt = amp_list[a];
Serial.println(F("AMP Type: ") + txt);
message2 = "Amp: " + txt;
//KATANA_DEBUGLN(message4);
break;

Es posible que sea con el tratamiento de cadenas. Estoy un poco perdido, la cosa es que si le pongo que me muestre la variable "a", me devuelve un número

Gracias.
Subir
lutop
#89 por lutop el 10/06/2020
Pues si, tiene pinta que es algun problema con los strings

Que hay en "a"? solo veo un casting a un tipo de variable (byte_array) que tampoco veo de donde sale
Subir
frandelrio
#90 por frandelrio el 10/06/2020
Perdón, este es el código:

String txt;
uint32_t a;
char state[8];
for (uint8_t i = 0; i < CHECK_THIS_SIZE; i++) {

strcpy(state, (bitRead(states, i) ? "on " : "off"));

switch (CHECK_THIS) {
case P_AMP:
a = (byte_array);
txt = amp_list[a];
Serial.println(F("AMP Type: ") + txt);
message2 = "Amp: " + txt;
break;
}
Subir
frandelrio
#91 por frandelrio el 10/06/2020
Te envío una captura de pantalla, que me quita caracteres.
Archivos adjuntos ( para descargar)
Captura.PNG
Subir
lutop
#92 por lutop el 10/06/2020
Yo haria pruebas para ver de donde viene el problema.

-Si no utilizas el LCD y solo enviar al debug, tambien peta?
-Si en lugar de utilizar un array de strings pones un string, peta?
-etc...

Trabajar con pointers y arrays de strings siempre es un poco tricky
Subir
lutop
#93 por lutop el 10/06/2020
veo que el codigo es el mismo que en el original, asi que deberia estar bien. Que numero te sale en "a"?
Subir
frandelrio
#94 por frandelrio el 10/06/2020
me sale 11
Subir
lutop
#95 por lutop el 10/06/2020
pues no te sabria decir... todo parece mas o menos ok.
Subir
frandelrio
#96 por frandelrio el 22/06/2020
Ya he dado con la tecla.
Parece ser que es un problema de castings de tipos.
Haciendo esto se soluciona:
Archivos adjuntos ( para descargar)
Captura2.PNG
Subir
Hilos similares
Nuevo post

Regístrate o para poder postear en este hilo