CreatiVision Console re-Creation

User avatar
Editor
Posts: 293
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: CreatiVision Console re-Creation

Post by Editor »

djrm wrote: Fri Apr 25, 2025 8:36 pm I think I've done everything I should to install the library but when I build the project I get errors.
I've pasted below my equivalent outputs, from MCC "Generate", and "Clean and Build":

The only significant differences I can see (we have the same versions), is you seem to be generating a tca0_deprecated.h file, whereas I get a timer_interface.h file instead?

I also noticed I don't seem to get your "In File included" messages on the Clean and Build?

Code: Select all

07:43:45.018    INFO: Fetching list of available libraries.
07:43:45.192    INFO: Download Complete: C:\Users\greg\.mcc\mcc_libraries.xml
07:43:47.029    INFO: Start MCC v5.5.2
07:43:47.034    INFO: Core v5.7.1 loaded.
07:44:14.481    INFO: Loaded configuration from file D:\_RevisionControlled\MPLABXProjects\CreatiVisionKeyboard_3.X\CreatiVisionKeyboard_3.mc3
08:51:27.423    INFO: *****************************************************
08:51:27.423    INFO:  Generation Results                                  
08:51:27.423    INFO: *****************************************************
08:51:27.425    INFO: main.c                                            Success. MCC output unchanged. User edits maintained. [See 'Force Update']
08:51:27.426    INFO: mcc_generated_files\system\ccp.h                  Success.
08:51:27.426    INFO: mcc_generated_files\system\clock.h                Success.
08:51:27.426    INFO: mcc_generated_files\system\config_bits.h          Success.
08:51:27.426    INFO: mcc_generated_files\system\interrupt.h            Success.
08:51:27.426    INFO: mcc_generated_files\system\pins.h                 Success.
08:51:27.426    INFO: mcc_generated_files\system\port.h                 Success.
08:51:27.426    INFO: mcc_generated_files\system\protected_io.h         Success.
08:51:27.426    INFO: mcc_generated_files\system\src\clock.c            Success.
08:51:27.426    INFO: mcc_generated_files\system\src\config_bits.c      Success.
08:51:27.426    INFO: mcc_generated_files\system\src\interrupt.c        Success.
08:51:27.426    INFO: mcc_generated_files\system\src\pins.c             Success.
08:51:27.427    INFO: mcc_generated_files\system\src\protected_io.S     Success.
08:51:27.427    INFO: mcc_generated_files\system\src\system.c           Success.
08:51:27.427    INFO: mcc_generated_files\system\system.h               Success.
08:51:27.427    INFO: mcc_generated_files\system\utils\assembler.h      Success.
08:51:27.427    INFO: mcc_generated_files\system\utils\assembler\gas.h  Success.
08:51:27.427    INFO: mcc_generated_files\system\utils\assembler\iar.h  Success.
08:51:27.427    INFO: mcc_generated_files\system\utils\atomic.h         Success.
08:51:27.427    INFO: mcc_generated_files\system\utils\compiler.h       Success.
08:51:27.427    INFO: mcc_generated_files\system\utils\interrupt_avr8.h Success.
08:51:27.427    INFO: mcc_generated_files\system\utils\utils.h          Success.
08:51:27.428    INFO: mcc_generated_files\system\utils\utils_assert.h   Success.
08:51:27.428    INFO: mcc_generated_files\timer\src\tca0.c              Success.
08:51:27.428    INFO: mcc_generated_files\timer\tca0.h                  Success.
08:51:27.428    INFO: mcc_generated_files\timer\timer_interface.h       Success.
08:51:27.473    INFO: *****************************************************
08:51:27.473    INFO:  Generation complete (total time: 585 milliseconds)
08:51:27.474    INFO: *****************************************************
08:51:27.474    INFO: Generation complete.

Code: Select all

CLEAN SUCCESSFUL (total time: 19ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make  -f nbproject/Makefile-default.mk dist/default/production/CreatiVisionKeyboard_3.X.production.hex
make[2]: Entering directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe" -c  -mcpu=AVR32EA28  -x assembler-with-cpp -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default  -gdwarf-3 -mno-const-data-in-progmem -Wa,--defsym=__MPLAB_BUILD=1   -MD -MP -MF "build/default/production/mcc_generated_files/system/src/protected_io.o.d" -MT "build/default/production/mcc_generated_files/system/src/protected_io.o.d" -MT build/default/production/mcc_generated_files/system/src/protected_io.o -o build/default/production/mcc_generated_files/system/src/protected_io.o  mcc_generated_files/system/src/protected_io.S 
make[2]: Leaving directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
make[2]: Entering directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/system.o.d" -MT "build/default/production/mcc_generated_files/system/src/system.o.d" -MT build/default/production/mcc_generated_files/system/src/system.o -o build/default/production/mcc_generated_files/system/src/system.o mcc_generated_files/system/src/system.c 
make[2]: Leaving directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
make[2]: Entering directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/interrupt.o.d" -MT "build/default/production/mcc_generated_files/system/src/interrupt.o.d" -MT build/default/production/mcc_generated_files/system/src/interrupt.o -o build/default/production/mcc_generated_files/system/src/interrupt.o mcc_generated_files/system/src/interrupt.c 
make[2]: Leaving directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
make[2]: Entering directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/main.o.d" -MT "build/default/production/main.o.d" -MT build/default/production/main.o -o build/default/production/main.o main.c 
make[2]: Leaving directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
make[2]: Entering directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/config_bits.o.d" -MT "build/default/production/mcc_generated_files/system/src/config_bits.o.d" -MT build/default/production/mcc_generated_files/system/src/config_bits.o -o build/default/production/mcc_generated_files/system/src/config_bits.o mcc_generated_files/system/src/config_bits.c 
make[2]: Leaving directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
make[2]: Entering directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/timer/src/tca0.o.d" -MT "build/default/production/mcc_generated_files/timer/src/tca0.o.d" -MT build/default/production/mcc_generated_files/timer/src/tca0.o -o build/default/production/mcc_generated_files/timer/src/tca0.o mcc_generated_files/timer/src/tca0.c 
make[2]: Leaving directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
make[2]: Entering directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/clock.o.d" -MT "build/default/production/mcc_generated_files/system/src/clock.o.d" -MT build/default/production/mcc_generated_files/system/src/clock.o -o build/default/production/mcc_generated_files/system/src/clock.o mcc_generated_files/system/src/clock.c 
make[2]: Leaving directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
make[2]: Entering directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/pins.o.d" -MT "build/default/production/mcc_generated_files/system/src/pins.o.d" -MT build/default/production/mcc_generated_files/system/src/pins.o -o build/default/production/mcc_generated_files/system/src/pins.o mcc_generated_files/system/src/pins.c 
make[2]: Leaving directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
make[2]: Entering directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -Wl,-Map=dist/default/production/CreatiVisionKeyboard_3.X.production.map  -DXPRJ_default=default  -Wl,--defsym=__MPLAB_BUILD=1   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O1 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -gdwarf-3 -mno-const-data-in-progmem      -Wl,--memorysummary,dist/default/production/memoryfile.xml -o dist/default/production/CreatiVisionKeyboard_3.X.production.elf  -o dist/default/production/CreatiVisionKeyboard_3.X.production.elf  build/default/production/mcc_generated_files/system/src/clock.o build/default/production/mcc_generated_files/system/src/system.o build/default/production/mcc_generated_files/system/src/interrupt.o build/default/production/mcc_generated_files/system/src/protected_io.o build/default/production/mcc_generated_files/system/src/config_bits.o build/default/production/mcc_generated_files/system/src/pins.o build/default/production/mcc_generated_files/timer/src/tca0.o build/default/production/main.o      -Wl,--start-group  -Wl,-lm -Wl,--end-group 
Info: Loading file: c:\program files\microchip\xc8\v3.00\avr\avr\bin\../lib\ldscripts/avrxmega3.xn
"C:\Program Files\Microchip\xc8\v3.00\bin"\\avr-objcopy -O ihex "dist/default/production/CreatiVisionKeyboard_3.X.production.elf" "dist/default/production/CreatiVisionKeyboard_3.X.production.hex"
make[2]: Leaving directory 'D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X'

BUILD SUCCESSFUL (total time: 2s)
Loading code from D:/_RevisionControlled/MPLABXProjects/CreatiVisionKeyboard_3.X/dist/default/production/CreatiVisionKeyboard_3.X.production.hex...
Reserved Bytes exist in Fuse memory, if you wish to preserve use Configuration Bits memory view or FW
Program loaded with pack,AVR-Ex_DFP,2.11.221,Microchip
Loading completed
User avatar
Editor
Posts: 293
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: CreatiVision Console re-Creation

Post by Editor »

djrm wrote: Fri Apr 25, 2025 8:36 pm I think I've done everything I should to install the library but when I build the project I get errors.
If it's any additional help, I've included below, screenshots of all my MCC "Project Resouces" panels,

NB. Click on each screenshot to see it fullsize. Then, to compare to your settings in MPLAB X, click on MCC, and when MCC is loaded (so you have the "Project Resouces" panel), click on each project resource to open each settings panel. These screenshots illustrate the MCC settings which I describe in the header comments in the main.c source file.

MPLAB_Keyboard_TCA0.png
MPLAB_Keyboard_CLKCTRL.png
MPLAB_Keyboard_ConfigurationBits.png
MPLAB_Keyboard_InterruptManager.png
MPLAB_Keyboard_Main.png
MPLAB_Keyboard_Pins.png
User avatar
djrm
Posts: 118
Joined: Wed Aug 21, 2024 9:40 pm
Location: Rillington / UK
Contact:

Re: CreatiVision Console re-Creation

Post by djrm »

I added all the avr related packs I could see.

I cant read your screenshots properly and I don't know how to see the same on my IDE.

The blank project compiles cleanly - not surprising really as it has no code.

The actual error stopping the compilation is this

Code: Select all

main.c:44:38: error: 'TCA0_Interface' undeclared here (not in a function)
 const struct TMR_INTERFACE *Timer = &TCA0_Interface;
it can't find the TCA0_Interface for some reason, I don't know where it is meant to be defined.
I'll look some more tomorrow, I'm tired now. David.
User avatar
Editor
Posts: 293
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: CreatiVision Console re-Creation

Post by Editor »

djrm wrote: Fri Apr 25, 2025 10:27 pm I cant read your screenshots properly and I don't know how to see the same on my IDE.
Click on each screenshot to see it fullsize (well, that works for me in my web browser). :thinking:

To see the same, click on MCC, and when MCC is loaded (so you have the "Project Resouces" panel), click on each project resource to open each settings panel.
djrm wrote: Fri Apr 25, 2025 10:27 pm The actual error stopping the compilation is this

Code: Select all

main.c:44:38: error: 'TCA0_Interface' undeclared here (not in a function)
 const struct TMR_INTERFACE *Timer = &TCA0_Interface;
it can't find the TCA0_Interface for some reason, I don't know where it is meant to be defined.
I'll look some more tomorrow, I'm tired now. David.
Interesting, as this would seem to be related to the file that I noted above was included in my MCC Generate output, but wasn't in yours (timer_interface.h)!

Perhaps some difference in your MCC settings (which hopefully my screenshots help with?).
e.g. Have you Enabled the Timer (in MCC TCA0 Hardware Settings)?
User avatar
djrm
Posts: 118
Joined: Wed Aug 21, 2024 9:40 pm
Location: Rillington / UK
Contact:

Re: CreatiVision Console re-Creation

Post by djrm »

The screenshot thumbnails were so big I didn't realize I could click on them to see them full size, doh. perfectly obvious on my phone.

I felt sure you had nailed the problem when you mentioned enabling the tier but I had that set already. The TCA0 configuration panel isn't quite the same on my system though, it has an extra setting visible below the timer enable control.
Screen-2025-04-26_04-36-42.png
User avatar
djrm
Posts: 118
Joined: Wed Aug 21, 2024 9:40 pm
Location: Rillington / UK
Contact:

Re: CreatiVision Console re-Creation

Post by djrm »

Adding the timer device makes the timer_interface.h file get included but the compilation still fails.
Screen-2025-04-26_05-11-04.png

Code: Select all

CLEAN SUCCESSFUL (total time: 36ms)
In file included from main.c:42:0:
c:\program files\microchip\xc8\v3.00\avr\avr\include\util\delay.h:112:3: warning: #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed" [-Wcpp]make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf

make  -f nbproject/Makefile-default.mk dist/default/production/mecb-keyboard.X.production.hex
make[2]: Entering directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe" -c  -mcpu=AVR32EA28  -x assembler-with-cpp -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O0 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default  -gdwarf-3 -mno-const-data-in-progmem -Wa,--defsym=__MPLAB_BUILD=1   -MD -MP -MF "build/default/production/mcc_generated_files/system/src/protected_io.o.d" -MT "build/default/production/mcc_generated_files/system/src/protected_io.o.d" -MT build/default/production/mcc_generated_files/system/src/protected_io.o -o build/default/production/mcc_generated_files/system/src/protected_io.o  mcc_generated_files/system/src/protected_io.S 
make[2]: Leaving directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
make[2]: Entering directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O0 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/system.o.d" -MT "build/default/production/mcc_generated_files/system/src/system.o.d" -MT build/default/production/mcc_generated_files/system/src/system.o -o build/default/production/mcc_generated_files/system/src/system.o mcc_generated_files/system/src/system.c 
make[2]: Leaving directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
make[2]: Entering directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O0 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/interrupt.o.d" -MT "build/default/production/mcc_generated_files/system/src/interrupt.o.d" -MT build/default/production/mcc_generated_files/system/src/interrupt.o -o build/default/production/mcc_generated_files/system/src/interrupt.o mcc_generated_files/system/src/interrupt.c 
make[2]: Leaving directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
make[2]: Entering directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O0 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/main.o.d" -MT "build/default/production/main.o.d" -MT build/default/production/main.o -o build/default/production/main.o main.c 
make[2]: Leaving directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
make[2]: Entering directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
 # warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
   ^
main.c:44:38: error: 'TCA0_Interface' undeclared here (not in a function)
 const struct TMR_INTERFACE *Timer = &TCA0_Interface;
                                      ^
main.c: In function 'main':
main.c:510:10: error: dereferencing pointer to incomplete type 'const struct TMR_INTERFACE'
     Timer->TimeoutCallbackRegister(TCA0_OverflowInterrupt);
          ^
make[2]: *** [nbproject/Makefile-default.mk:174: build/default/production/main.o] Error 1
make[2]: *** Waiting for unfinished jobs....
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O0 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/timer/src/tca0.o.d" -MT "build/default/production/mcc_generated_files/timer/src/tca0.o.d" -MT build/default/production/mcc_generated_files/timer/src/tca0.o -o build/default/production/mcc_generated_files/timer/src/tca0.o mcc_generated_files/timer/src/tca0.c 
make[2]: Leaving directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
make[2]: Entering directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O0 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/pins.o.d" -MT "build/default/production/mcc_generated_files/system/src/pins.o.d" -MT build/default/production/mcc_generated_files/system/src/pins.o -o build/default/production/mcc_generated_files/system/src/pins.o mcc_generated_files/system/src/pins.c 
make[2]: Leaving directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
make[2]: Entering directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O0 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/config_bits.o.d" -MT "build/default/production/mcc_generated_files/system/src/config_bits.o.d" -MT build/default/production/mcc_generated_files/system/src/config_bits.o -o build/default/production/mcc_generated_files/system/src/config_bits.o mcc_generated_files/system/src/config_bits.c 
make[2]: Leaving directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
make[1]: *** [nbproject/Makefile-default.mk:85: .build-conf] Error 2
make: *** [nbproject/Makefile-impl.mk:39: .build-impl] Error 2
make[2]: Entering directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'
"C:\Program Files\Microchip\xc8\v3.00\bin\xc8-cc.exe"  -mcpu=AVR32EA28 -c  -x c -D__AVR32EA28__   -mdfp="C:/Program Files/Microchip/MPLABX/v6.25/packs/Microchip/AVR-Ex_DFP/2.11.221/xc8"  -Wl,--gc-sections -O0 -ffunction-sections -fdata-sections -fshort-enums -fno-common -funsigned-char -funsigned-bitfields -Wall -DXPRJ_default=default    -gdwarf-3 -mno-const-data-in-progmem     -MD -MP -MF "build/default/production/mcc_generated_files/system/src/clock.o.d" -MT "build/default/production/mcc_generated_files/system/src/clock.o.d" -MT build/default/production/mcc_generated_files/system/src/clock.o -o build/default/production/mcc_generated_files/system/src/clock.o mcc_generated_files/system/src/clock.c 
make[2]: Leaving directory 'C:/Users/David/MPLABXProjects/mecb-keyboard.X'

BUILD FAILED (exit value 2, total time: 2s)
User avatar
Editor
Posts: 293
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: CreatiVision Console re-Creation

Post by Editor »

djrm wrote: Sat Apr 26, 2025 3:43 am The TCA0 configuration panel isn't quite the same on my system though, it has an extra setting visible below the timer enable control.
This is a real mystery, as I do recall it "just worked" when I did my original install, and when I re-installed v6.25.

I think I now feel the urge to find a PC, that I've never installed MPLAB on, and go through the process completely from scratch (to try and duplicate what you would have done). Hmm... let me see what I have.
User avatar
djrm
Posts: 118
Joined: Wed Aug 21, 2024 9:40 pm
Location: Rillington / UK
Contact:

Re: CreatiVision Console re-Creation

Post by djrm »

Moving along a bit, if I use the MCC in a different way and make a change to the source file I can build without errors:
Screenshot from 2025-04-26 13-00-13.png
Remove this:

Code: Select all

//const struct TMR_INTERFACE *Timer = &TCA0_Interface;
And change this:

Code: Select all

/*
/*
 * Main Application
 */
int main(void)
{
    /* MCC defined System Setup (initialize) */
    SYSTEM_Initialize();

    /* Setup Timer Interrupt Handler routine */
    Timer0.TimeoutCallbackRegister(TCA0_OverflowInterrupt);
And this is on my Linux PC too which is a blessing with its bigger screen instead of the laptop, now to see if the PICkit Basic runs ok.
David.

Edit, it worked. I flashed the chip, removed the extra components. Now I can loginto my tiny PC with the MECB keyboard, yay.
Thanks for the help, David.
User avatar
Editor
Posts: 293
Joined: Fri Nov 17, 2023 10:36 pm
Contact:

Re: CreatiVision Console re-Creation

Post by Editor »

djrm wrote: Sat Apr 26, 2025 12:07 pm ... Edit, it worked. I flashed the chip, removed the extra components. Now I can loginto my tiny PC with the MECB keyboard, yay.
Thanks for the help, David.
Fantastic to hear! My apologies for creating this painful experience!

So, from my side...

I first found a completely clean Windows 10 laptop, and installed MPLAB X IDE v6.25 (for the first time).
Selecting only the MPLAB X IDE with only AVR 8-bit support and the XC8 compiler.

Then, I spent some time researching and testing the project files actually required to be able to successfully version control and share the full project (excluding files which are generated, also containing local install path information).

MPLAB has always been a challenge for sharing / archiving projects. In the past I have often used the "Package" option to archive a project, but it creates a .ZIP file of the project. Firstly, this is not appropriate for version control. Secondly, this ZIP contains many files that are generated.

So, after much research and trial (with my clean laptop install), I have now identified what I believe is the minimum generic (not containing local installation paths) set of files and procedure required, to recreate each project.

These have now been added to the CreatiVisionMechanicalKeyboard repository under a new 'code' subfolder (replacing the previous 'src' subfolder).
This new folder also contains a new README with the required procedure to (hopefully), re-create each project in a new MPLAB X IDE installation.

Hopefully this makes life easier for anyone in the future (or even just for us!).

My final request (if you can spare the time), is whether you could also try the new 'code' folder, to verify if this now makes life easier?

Thanks again, for highlighting this issue! I think that what had worked for me at the time (just commiting the main.c file), probably changed with the progression to MPLAB X IDE v6.25? Hopefully, the new process will continue to work with future IDE version updates. :thinking:
User avatar
djrm
Posts: 118
Joined: Wed Aug 21, 2024 9:40 pm
Location: Rillington / UK
Contact:

Re: CreatiVision Console re-Creation

Post by djrm »

I'll be happy to do that. David

Edit, it is now possible to build the keyboard project using the files from Github however ...

When the Generate button is clicked the existing main.c gets overwritten and needs to be restored with the program code from the Github version. Builds successfully then.

The content manager MCC has a totally different appearance, updating to the latest made it look like I saw it initially and the project still built (after restoring main.c again)

I updated something else (not sure what) and the system reverted to the broken style I had the problem with initially. I'll revert and see just what it is that causes the problem - the API has changed and needs the changes I made to make my initial successful build.

I away for a bit now, David.
Post Reply