Arduino Forum upgrade scheduled for Monday, October 20th, 11am-4pm (CEST). Sorry for the inconvenience!
Pages: 1 2 [3]   Go Down
Author Topic: Máquina de estados: Librería FSM  (Read 10420 times)
0 Members and 1 Guest are viewing this topic.
Barcelona
Offline Offline
Jr. Member
**
Karma: 0
Posts: 67
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hola Igor R,

haber si te he entendido: supongo que debo de ir a tu librería y cambiar el #include <avr/pgmspace.h> en el fichero FSM.h o el #include "WProgram.h" en el fichero FSM.cpp pero por cual??

gracias Igor R nuevamente.
Logged

Barcelona
Offline Offline
Jr. Member
**
Karma: 0
Posts: 67
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

lo tengo Igor R!!! gracias por la pista...  me ha costado encontrarlo, pero google al final me lo soluciono,  cambiar Wprogram.h por Arduino.h

Salu2
Logged

Barcelona, Catalunya, España, la Tierra, Sistema Solar, Brazo de Orión, Vía láctea, Grupo local
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
"The best way to predict the future is to implement it." Alan Kay
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A nivel de cómputo son igual de potentes.

Ya sé que esto es agitar un poco el avispero, pero eso no es estrictamente cierto. Ambas máquinas son capaces de resolver los mismos problemas, así que son igual de versátiles. Sin embargo un mismo problema puede requerir más estados en un tipo y viceversa ,hay problemas que se resuelven antes con Moore, otros que se resuelven antes con Mealy (y con antes me refiero a con menos estados). Esto, en casos extremos puede incidir en la velocidad a la que ejecutas el algoritmo, pero vamos, que son esos casos puntuales tan ajustados para los que hay que sacar el asembler a relucir y tal (lo que normalmente quiere decir subir la freq. del micro y mandar el asembler a la estantería otra vez xD)
Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

pacoooh,me alegro que la tenas funcionando. Cuando vuelva para casa ya lo cambiaré(ahora estoy fuera y me conecto intermitentemente a internet con el móvil).
La tengo subida al github,ya pondré más detalles cuando vuelva.
Por cierto,las acciones a ejecutar las puedes hacer cuando quieras (estados,transiciones ó ambas) con una pequeñísima modificación...a gusto del consumidor! Como dije en su día es algo sencillo y básico. Se puede "complicar" todo lo que se quiera.
Yo la hice para el control de menus de una pantalla gráfica. Resulta muy fácil meterle cambios a los menus,botoneras,etc. con este tipo de programación. De momento, es lo que necesito, algo sencillito.

Saludos
« Last Edit: December 14, 2011, 08:12:17 pm by Igor R » Logged


0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ya estoy de vuelta!! Dejo el link del repositorio:
https://github.com/IgorReal/SECUduino   (en la carpeta FSM)

Ahora si alguien quiere colaborar mejorándola, añadiéndole eventos en las transiciones o lo que sea....es posible.

smiley-wink
« Last Edit: December 14, 2011, 10:36:27 pm by Igor R » Logged


Alicante
Offline Offline
Sr. Member
****
Karma: 2
Posts: 413
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Genial @Igor R !

Que buena librería. Muchas gracias por compartirla, +1.
Un saludo.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hola estoy inentando usar la libreria para crear un menu  y cuando le doy a compilar me sale este mensage

/mystates.h:33: error: invalid conversion from 'void (*)()' to 'unsigned char'

alguien intuye por donde puede ir el error gracias
Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

Mejor sube el código para poder echarle un vistazo.

Salu2,


Igor
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

aqui va el codigo  lo subi a box
 https://app.box.com/s/ghxkxfmnvai7ijzvk9sr
Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

Has usado paréntesis () en vez de {}

Quote
// Estructuras descriptivas de mi diagrama de flujo
const FSMClass::FSM_State_t FSM_State[] PROGMEM= {
// STATE,STATE_FUNC
{STATE1,func1},
{STATE2,func2},
{STATE3,func3},
(STATE4,func4),
};

Saludos,

Igor


Logged


Pages: 1 2 [3]   Go Up
Arduino Forum upgrade scheduled for Monday, October 20th, 11am-4pm (CEST). Sorry for the inconvenience!
Jump to: