[Butia-devel-list] Actualización del firmware para nuevos actuadores

Gustavo Evovlockas gevovlockas en gmail.com
Dom Ago 10 20:53:05 UYT 2014


Ejecute el comando  git diff HEAD > diff_firmware.txt

Acá les adjunto el resultado.


El 10 de agosto de 2014, 19:54, Gustavo Evovlockas <gevovlockas en gmail.com>
escribió:

> Modifique el tope para el valor 0x34BE pero ahora el error que me da es
>
> Error - memory 'module_sec' overlaps memory 'user_sec'
>
> En mi archivo lkr los valores estan asi
>
> CODEPAGE   NAME=boot                    START=0x0        END=0x8BF
> PROTECTED
> CODEPAGE   NAME=vectors                 START=0x8C0      END=0x08E9
> PROTECTED
> CODEPAGE   NAME=usb_endpoints_init_sec  START=0x8EA      END=0x0AE9
> PROTECTED
> CODEPAGE   NAME=device_dsc_sec          START=0x0AEA     END=0x0CE9
> PROTECTED
> CODEPAGE   NAME=usb_cd_ptr_sec          START=0x0CEA     END=0x0D29
> PROTECTED
> CODEPAGE   NAME=usb_sd_ptr_sec          START=0x0D2A     END=0x0DA9
> PROTECTED
> CODEPAGE   NAME=sys_sec                 START=0x0DAA     END=0x33AA
>
> CODEPAGE   NAME=user_sec                START=0x33AB     END=0x34A7
> PROTECTED
> CODEPAGE   NAME=module_sec              START=0x34A8     END=0x8000
> PROTECTED
>
> CODEPAGE   NAME=idlocs                  START=0x200000   END=0x200007
> PROTECTED
> CODEPAGE   NAME=config                  START=0x300000   END=0x30000D
> PROTECTED
> CODEPAGE   NAME=devid                   START=0x3FFFFE   END=0x3FFFFF
> PROTECTED
> CODEPAGE   NAME=eedata                  START=0xF00000   END=0xF000FF
> PROTECTED
>
>
> El 10 de agosto de 2014, 14:56, Alan Jhonn Aguiar Schwyn <
> alanjas en hotmail.com> escribió:
>
>  El problema es que se quedaron sin espacio en la sección "user_sec" para
>> guardar esos módulos.
>> Cuando agregué al firmware los usrSenA, B y C, corrí la posición de la
>> tabla un poco. Ahora habría
>> que hacer lo mismo.
>>
>> Miren el commit: a07933e0f1f1eacea1e978342e53607256b7bceb
>>
>> Podrían correr el tope hasta 0x34BE.
>>
>>
>> ------------------------------
>> Date: Sun, 10 Aug 2014 14:13:45 -0300
>> From: gevovlockas en gmail.com
>> To: butia-devel-l en fing.edu.uy
>> Subject: [Butia-devel-list] Actualización del firmware para nuevos
>> actuadores
>>
>>
>> Estamos modificando el firmware para incorporar el Buzzer y el Relay.
>>
>> La idea es usar el modulo usr_modAct. Para lograr esto entre otras cosas
>> modificamos usr_modAct.c agregando, junto a los otros actuadores
>> referenciados, las dos siguientes lineas
>>
>> const uTab userBuzzerModTable = {&UserModActInit, &UserModActRelease,
>> "buzzer"};
>> const uTab userRelayModTable = {&UserModActInit, &UserModActRelease,
>> "relay"};
>>
>> para que el buzzer y el relay usen este modulo. El tema es que no nos
>> deja agregar mas porque da el siguiente error de compilación
>>
>> section 'user' has a memory 'user_sec' which can not fit the section.
>> Section 'user' length=0x00000114.
>>
>> Si por ejemplo agrego las dos lineas mencionadas pero comento otras dos
>> de las que ya están (por ejemplo led y actuadorA) entonces compila pero si
>> las descomento deja de compilar. El error debe ser algún problema de tamaño
>> de algo pero no sabemos que.
>>
>> La idea es pedir ayuda al grupo para encontrar el problema.
>>
>> Saludos
>> Gustavo Evovlockas.
>>
>> _______________________________________________ Butia-devel-l site list
>> Butia-devel-l en fing.edu.uy
>> https://www.fing.edu.uy/mailman/listinfo/butia-devel-l
>>
>
>
>
> --
> Gustavo Evovlockas.
>



-- 
Gustavo Evovlockas.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://www.fing.edu.uy/pipermail/butia-devel-l/attachments/20140810/83ac56ce/attachment.html>
------------ próxima parte ------------
diff --git a/firmware/u4a2/18f4550.lkr b/firmware/u4a2/18f4550.lkr
index 55f401b..4a0f1a9 100644
--- a/firmware/u4a2/18f4550.lkr
+++ b/firmware/u4a2/18f4550.lkr
@@ -15,7 +15,7 @@ CODEPAGE   NAME=usb_cd_ptr_sec          START=0x0CEA     END=0x0D29    PROTECTED
 CODEPAGE   NAME=usb_sd_ptr_sec          START=0x0D2A     END=0x0DA9    PROTECTED
 CODEPAGE   NAME=sys_sec                 START=0x0DAA     END=0x33AA
 
-CODEPAGE   NAME=user_sec                START=0x33AB     END=0x34A7    PROTECTED
+CODEPAGE   NAME=user_sec                START=0x33AB     END=0x34BE    PROTECTED
 CODEPAGE   NAME=module_sec              START=0x34A8     END=0x8000    PROTECTED
 
 CODEPAGE   NAME=idlocs                  START=0x200000   END=0x200007  PROTECTED
diff --git a/firmware/u4a2/USB4all.X/nbproject/configurations.xml b/firmware/u4a2/USB4all.X/nbproject/configurations.xml
index 9463b5d..864b263 100644
--- a/firmware/u4a2/USB4all.X/nbproject/configurations.xml
+++ b/firmware/u4a2/USB4all.X/nbproject/configurations.xml
@@ -98,8 +98,11 @@
           <linkerLibItems>
           </linkerLibItems>
         </linkerTool>
+        <archiverTool>
+        </archiverTool>
         <loading>
           <useAlternateLoadableFile>false</useAlternateLoadableFile>
+          <parseOnProdLoad>false</parseOnProdLoad>
           <alternateLoadableFile></alternateLoadableFile>
         </loading>
       </compileType>
diff --git a/firmware/u4a2/USB4all.X/nbproject/project.xml b/firmware/u4a2/USB4all.X/nbproject/project.xml
index 216eb6a..c033988 100644
--- a/firmware/u4a2/USB4all.X/nbproject/project.xml
+++ b/firmware/u4a2/USB4all.X/nbproject/project.xml
@@ -8,6 +8,7 @@
             <cpp-extensions/>
             <header-extensions>h</header-extensions>
             <sourceEncoding>ISO-8859-1</sourceEncoding>
+            <asminc-extensions/>
             <make-dep-projects/>
         </data>
     </configuration>
diff --git a/firmware/u4a2/user/pnp.c b/firmware/u4a2/user/pnp.c
index 481ede4..e371cca 100644
--- a/firmware/u4a2/user/pnp.c
+++ b/firmware/u4a2/user/pnp.c
@@ -21,7 +21,9 @@ rom const device_resistance table_device_id_resistance[MAX_DEVICES] = {
     { "modSenC", R_MOD_SEN_C_MIN, R_MOD_SEN_C_MAX},
     { "modActA", R_MOD_ACT_A_MIN, R_MOD_ACT_A_MAX},
     { "modActB", R_MOD_ACT_B_MIN, R_MOD_ACT_B_MAX},
-    { "modActC", R_MOD_ACT_C_MIN, R_MOD_ACT_C_MAX}
+    { "modActC", R_MOD_ACT_C_MIN, R_MOD_ACT_C_MAX},
+    { "buzzer", R_MOD_BUZZER_MIN, R_MOD_BUZZER_MAX},
+    { "relay", R_MOD_RELAY_MIN, R_MOD_RELAY_MAX}
 };
 
 /** VARIABLES UNINITIALIZED, RAM **/
diff --git a/firmware/u4a2/user/pnp.h b/firmware/u4a2/user/pnp.h
index dd29770..185cad5 100644
--- a/firmware/u4a2/user/pnp.h
+++ b/firmware/u4a2/user/pnp.h
@@ -43,6 +43,12 @@
 #define R_MOD_ACT_C_MAX 3151
 #define R_MOD_ACT_C_MIN 2601
 
+
+#define R_MOD_BUZZER_MAX 1054
+#define R_MOD_BUZZER_MIN 865
+#define R_MOD_RELAY_MAX 720
+#define R_MOD_RELAY_MIN 590
+
 //#define R_SHIELD_CC_MAX 12531
 //#define R_SHIELD_CC_MIN 10622
 //#define R_GPIO_MIN 65280
@@ -59,11 +65,11 @@
 #define R_MOTION 9999
 /*Actuators*/
 #define R_DCMOTOR 9999
-#define R_RELAY 9999
-#define R_BUZZER 9999
+/*#define R_RELAY 9999
+#define R_BUZZER 9999*/
 
 
-#define MAX_DEVICES (byte) 15 /*Max cant of senssor/actuator type*/
+#define MAX_DEVICES (byte) 17 /*Max cant of senssor/actuator type*/
 /*TODO review this time, the micro is running @20MHZ with a pipeline of 4steps => 20000000/4 = 5000000 instructions per second */
 #define PNP_DETECTION_TIME 20000
 /** ESTRUCTURES **/
diff --git a/firmware/u4a2/user/usr_modAct.c b/firmware/u4a2/user/usr_modAct.c
index 2a1e031..a45f2d5 100644
--- a/firmware/u4a2/user/usr_modAct.c
+++ b/firmware/u4a2/user/usr_modAct.c
@@ -32,6 +32,8 @@ const uTab userModActATable = {&UserModActInit, &UserModActRelease, "modActA"};
 const uTab userModActBTable = {&UserModActInit, &UserModActRelease, "modActB"};
 const uTab userModActCTable = {&UserModActInit, &UserModActRelease, "modActC"};
 const uTab userLedModuleTable = {&UserModActInit, &UserModActRelease, "led"};
+const uTab userBuzzerModTable = {&UserModActInit, &UserModActRelease, "buzzer"};
+const uTab userRelayModTable = {&UserModActInit, &UserModActRelease, "relay"};
 #pragma code
 
 /** D E C L A R A T I O N S **************************************************/


Más información sobre la lista de distribución Butia-devel-l