OSDN Git Service

[v2.0] Build with PIC18F46K20(64K), as of capacity of FLASH.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 24 Oct 2013 07:39:03 +0000 (16:39 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Thu, 24 Oct 2013 07:39:03 +0000 (16:39 +0900)
[UI][Rencoder] Fix to counting per 1 click on right direction.

nbproject/Makefile-default.mk
nbproject/Makefile-genesis.properties
nbproject/configurations.xml
rencoder.c

index 4b4929c..0b6d3f8 100644 (file)
@@ -74,7 +74,7 @@ FIXDEPS=fixDeps
 .build-conf:  ${BUILD_SUBPROJECTS}
        ${MAKE}  -f nbproject/Makefile-default.mk dist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}
 
-MP_PROCESSOR_OPTION=18F45K20
+MP_PROCESSOR_OPTION=18F46K20
 # ------------------------------------------------------------------------------------
 # Rules for buildStep: compile
 ifeq ($(TYPE_IMAGE), DEBUG_RUN)
@@ -492,7 +492,7 @@ endif
 ifeq ($(TYPE_IMAGE), DEBUG_RUN)
 dist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    
        @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 
-       ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.map  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"     --rom=default,-7dc0-7fff --ram=default,-5f4-5ff,-f9c-f9c,-fd4-fd4,-fdb-fdf,-fe3-fe7,-feb-fef,-ffd-fff  -odist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}     
+       ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.map  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"     --rom=default,-fd30-ffff --ram=default,-ef4-eff,-f9c-f9c,-fd4-fd4,-fdb-fdf,-fe3-fe7,-feb-fef,-ffd-fff  -odist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}     
        @${RM} dist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.hex 
        
 else
index 86b0ea1..5ac7765 100644 (file)
@@ -1,5 +1,5 @@
 #
-#Mon Oct 21 19:20:43 JST 2013
+#Thu Oct 24 15:56:48 JST 2013
 default.languagetoolchain.dir=/opt/microchip/xc8/v1.21/bin
 com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=0d2b1469ad71adb787c711a416386331
 default.languagetoolchain.version=1.21
index 9a6c12a..ddb6be4 100644 (file)
@@ -85,7 +85,7 @@
     <conf name="default" type="2">
       <toolsSet>
         <developmentServer>localhost</developmentServer>
-        <targetDevice>PIC18F45K20</targetDevice>
+        <targetDevice>PIC18F46K20</targetDevice>
         <targetHeader></targetHeader>
         <targetPluginBoard></targetPluginBoard>
         <platformTool>PICkit3PlatformTool</platformTool>
index c0ef9d1..cf6d178 100644 (file)
@@ -49,8 +49,8 @@ void rencoder_restart(void)
 {
  //  T1CONbits.TMR1ON = 1;
    T1CON = 0b10110100;// RD16, T1RUN=0, 1/32 fOSC, TNR1CS=0, TMR1ON=0;
-   TMR1H = (65536 - 400) >> 8; // Tick = 4us, Count = 400(1.6ms)
-   TMR1L = (65536 - 400) & 255;
+   TMR1H = (65536 - 800) >> 8; // Tick = 4us, Count = 800(3.2ms)
+   TMR1L = (65536 - 800) & 255;
 //   T1CONbits.TMR1ON = 0;
    PIR1bits.TMR1IF = 0;
    PIE1bits.TMR1IE = 1;
@@ -78,20 +78,25 @@ void rencoder_stop(void)
 
 void rencoder_count(void)
 {
-   unsigned char dir = 0;
+   unsigned char dir = RENC_NONE;
 
-   if(RENC_PH_A == renc_state_a) return; // ZAP SAME STATE.
-   if(RENC_PH_B != 0) {
-      if(renc_state_a != 0){
-        if(RENC_PH_A == 0) {
-           dir = RENC_RIGHT;
-        }
-      } else {
-        if(RENC_PH_A != 0) {
-           dir = RENC_LEFT;
-        }
-      }
-   }
+   if(RENC_PH_A != renc_state_a) {
+       if(RENC_PH_A == 1){ // A: FALL DOWN
+           if(RENC_PH_B == 0){ // B: Stable
+               dir = RENC_RIGHT;
+           } else {
+               dir = RENC_LEFT;
+           }
+       }
+    } else if(RENC_PH_B != renc_state_b){
+        if(RENC_PH_B == 1){ // B: FALL DOWN
+            if(RENC_PH_A == 0){ // A: Stable
+                dir = RENC_LEFT;
+            } else {
+                dir = RENC_RIGHT;
+            }
+        }
+    }
 
    if(dir != RENC_NONE) {
       if(dir == renc_dir) {
@@ -103,7 +108,7 @@ void rencoder_count(void)
      renc_reset_count = 0;
    } else{
      renc_reset_count++;
-     if(renc_reset_count >= 100) { // 1000ms
+     if(renc_reset_count >= 1000) { // 3200ms
        renc_count = 0;
        renc_dir = RENC_NONE;
        renc_state_a = 0;