diff --git a/.main-meta/main.json b/.main-meta/main.json index a564498..4fe8f1d 100644 --- a/.main-meta/main.json +++ b/.main-meta/main.json @@ -4,27 +4,27 @@ "content": { "metaDataVersion": "1.1.0", "name": "com.microchip.mcu8.mplabx.project.avr128da48-cnano-led-blink-pwm-mcc", - "version": "2.0.0", + "version": "2.0.1", "displayName": "LED Blink using PWM", "projectName": "avr128da48-cnano-led-blink-pwm-mcc", "shortDescription": "This repository provides an MPLAB X project with a MCC generated code example for an LED blink driven by a PWM signal. The example demonstrates how to generate a PWM signal using a timer", "ide": { "name": "MPLAB X", - "semverRange": ">=5.45.0" + "semverRange": ">=6.10.0" }, "compiler": [ { "name": "XC8", - "semverRange": "^2.31.0" + "semverRange": "^2.41.0" } ], "dfp": { "name": "AVR-Dx_DFP", - "semverRange": "^1.8.112" + "semverRange": "^2.3.272" }, "configurator": { "name": "MCC", - "semverRange": ">=4.1.0" + "semverRange": ">=5.3.7" }, "device": { "metaDataVersion": "1.0.0", @@ -37,12 +37,6 @@ } }, "author": "Microchip", - "subcategories": [ - [ - "Peripherals", - "TCA" - ] - ], "peripherals": [ "TCA" ], diff --git a/README.md b/README.md index 8d158ba..34aaa51 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,108 @@ -[![MCHP](images/microchip.png)](https://www.microchip.com) +MCHP # AVR128DA48 LED Blink using PWM Code Example This repository provides a MPLAB X project with a MCC generated code example for an LED blink driven by a PWM signal. The example demonstrates how to generate a PWM signal using a timer. The output waveform is connected to the on-board LED. The PWM duty cycle value is set at 50%. For half of the period the LED is turned ON, and for the other half the LED is turned OFF. ## Related Documentation + More details and code examples on the AVR128DA48 can be found at the following links: + - [AVR128DA48 Product Page](https://www.microchip.com/wwwproducts/en/AVR128DA28) - [AVR128DA48 Code Examples on GitHub](https://github.com/microchip-pic-avr-examples?q=avr128da48) - [AVR128DA48 Project Examples in START](https://start.atmel.com/#examples/AVR128DA48CuriosityNano) ## Software Used -- MPLAB® X IDE 5.45 or newer [(microchip.com/mplab/mplab-x-ide)](http://www.microchip.com/mplab/mplab-x-ide) -- MPLAB® XC8 2.31 or a newer compiler [(microchip.com/mplab/compilers)](http://www.microchip.com/mplab/compilers) -- MPLAB® Code Configurator (MCC) 4.1.0 or newer [(microchip.com/mplab/mplab-code-configurator)](https://www.microchip.com/mplab/mplab-code-configurator) -- MPLAB® Code Configurator (MCC) Device Libraries 8-bit AVR MCUs 2.5.0 or newer [(microchip.com/mplab/mplab-code-configurator)](https://www.microchip.com/mplab/mplab-code-configurator) -- AVR-Dx 1.8.112 or newer Device Pack +- [MPLAB® X IDE](http://www.microchip.com/mplab/mplab-x-ide) v6.10 or newer +- [MPLAB® XC8](http://www.microchip.com/mplab/compilers) 2.41 or newer +- [AVR-Dx Device Family Pack](https://packs.download.microchip.com/) v2.3.272 or newer ## Hardware Used -- AVR128DA48 Curiosity Nano [(DM164151)](https://www.microchip.com/Developmenttools/ProductDetails/DM164151) + +- [AVR128DA48 Curiosity Nano](https://www.microchip.com/Developmenttools/ProductDetails/DM164151) Development Board is used as test platform: +
+ +## Operation + +To program the Curiosity Nano board with this MPLAB® X project, follow the steps provided in the [How to Program the Curiosity Nano Board](#how-to-program-the-curiosity-nano-board) chapter.

## Setup -The AVR128DA48 Curiosity Nano Development Board is used as test platform -
The following configurations must be made for this project: -Clock: -- 4 MHz clock with Prescaler Division of 16 (250 kHz actual) +- Clock Control: + - Clock Selection: Internal high-frequency oscillator + - Internal Oscillator Frequency: 1-32 MHz internal oscillator + - Oscillator Frequency Selection: 4 MHz system clock + - Prescaler Enable: Yes + - Prescaler Division: 16X +
-TCA1: -- Single-slope PWM Mode -- Compare channel 2 enabled with 50% duty cycle -- System clock 250 kHz -- Requested timeout 262ms +- Configuration Bits: + - Watchdog Timeout Period: Watch-Dog timer off +
-|Pin | Configuration | +- Interrupt Manager: + - Global Interrupt Enable: No +
+ +- TCA1: + - Enable Timer: Yes + - Clock Selection: System Clock + - Requested Timeout: 262 ms + - Waveform Generation Mode: Single Slope PWM + - Enable Channel 2: Yes + - Duty Cycle 2: 50% +
+
+ + +| Pin | Configuration | | :----------: | :----------------: | -|PC6 (LED0) | Digital Output | +| PC6 (LED0) | Digital Output | -## Operation -1. Connect the board to the PC. +
-2. Open the *avr128da48-cnano-led-blink-pwm-mcc.X* project in MPLAB® X IDE. +## Demo -3. Set *avr128da48-cnano-led-blink-pwm-mcc.X* project as main project. Right click on the project in the *Projects* tab and click *Set as Main Project*. - -4. Select the *AVR128DA28 Curiosity Nano* in the *Connected Hardware Tool* section of the project settings: - - Right click on the project and click *Properties*; - - Click on the arrow right next to *Connected Hardware Tool*; - - Select the *AVR128DA28 Curiosity Nano* (click on the SN), click *Apply* and then click *OK*: -
- - -5. Program the project to the board: right click on the project and click *Make and Program Device*. - -Demo: -
+
## Summary + The demo shows how to generate a PWM signal using Timer/Counter Type A (TCA). The output of the TCA is connected to the on-board LED of the AVR128DA48 Curiosity Nano board and a waveform signal is generated. + +## How to Program the Curiosity Nano board + +This chapter shows how to use the MPLAB X IDE to program an AVR® device with an `Example_Project.X`. This can be applied for any other projects. + +1. Connect the board to the PC. + +2. Open the `Example_Project.X` project in MPLAB X IDE. + +3. Set the `Example_Project.X` project as main project: +
Right click on the project in the **Projects** tab and click Set as Main Project. +
+ +4. Clean and build the `Example_Project.X` project: +
Right click on the `Example_Project.X` project and select Clean and Build. +
+ +5. Select AVRxxxxx Curiosity Nano in the Connected Hardware Tool section of the project settings: +
Right click on the project and click Properties. +
Click on the arrow under the Connected Hardware Tool. +
Select the AVRxxxxx Curiosity Nano (click on the SN). +
Click Apply and then OK. +
+ +6. Program the project to the board: +
Right click on the project and then Make and Program Device. +
+ +
+ +- [Back to Setup](#setup) +- [Back to Demo](#demo) +- [Back to Summary](#summary) +- [Back to Top](#avr128da48-led-blink-using-pwm-code-example) \ No newline at end of file diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/avr-da-led-blink-w-pwm-tca.mc3 b/avr128da48-cnano-led-blink-pwm-mcc.X/avr-da-led-blink-w-pwm-tca.mc3 index 63cb776..75a4e89 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/avr-da-led-blink-w-pwm-tca.mc3 +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/avr-da-led-blink-w-pwm-tca.mc3 @@ -1,175 +1,209 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + Application Builder - class com.microchip.mcc.redux.module.FrameworkModule + class com.microchip.mcc.melody.module.FrameworkModule CLKCTRL - class com.microchip.mcc.redux.hw.module.HardwareModule + class com.microchip.mcc.melody.hw.module.HardwareModule CPUINT - class com.microchip.mcc.redux.hw.module.HardwareModule + class com.microchip.mcc.melody.hw.module.HardwareModule Configuration Bits - class com.microchip.mcc.redux.hw.module.HardwareModule + class com.microchip.mcc.melody.hw.module.HardwareModule MAIN MANAGER - class com.microchip.mcc.redux.hw.module.HardwareModule + class com.microchip.mcc.melody.hw.module.HardwareModule Pin Manager - class com.microchip.mcc.redux.hw.module.HardwareModule + class com.microchip.mcc.melody.hw.module.HardwareModule TCA1 - class com.microchip.mcc.redux.hw.module.HardwareModule + class com.microchip.mcc.melody.hw.module.HardwareModule meta - class com.microchip.mcc.redux.hw.module.HardwareModule + class com.microchip.mcc.melody.hw.module.HardwareModule module0 - class com.microchip.mcc.redux.script.module.ScriptModule + class com.microchip.mcc.melody.script.module.ScriptModule module1 - class com.microchip.mcc.redux.script.module.ScriptModule - - - module18 - class com.microchip.mcc.redux.script.module.ScriptModule + class com.microchip.mcc.melody.script.module.ScriptModule module2 - class com.microchip.mcc.redux.script.module.ScriptModule + class com.microchip.mcc.melody.script.module.ScriptModule module3 - class com.microchip.mcc.redux.script.module.ScriptModule + class com.microchip.mcc.melody.script.module.ScriptModule module4 - class com.microchip.mcc.redux.script.module.ScriptModule + class com.microchip.mcc.melody.script.module.ScriptModule module5 - class com.microchip.mcc.redux.script.module.ScriptModule + class com.microchip.mcc.melody.script.module.ScriptModule + + + module86 + class com.microchip.mcc.melody.script.module.ScriptModule - + + + + {"mccDevice":{"loc":"0 0","pos":"0 0"},"systemGroup":{"loc":"171 0","pos":"171 0"},"module86":{"loc":"198.5 84.5","pos":"198.5 84.5"}} + - {"modules":{"module5":{"scriptId":"@mchp-mcc/scf-avr8-clkctrl-v1","imports":{"pin_standard":{"interfaceId":{"name":"pin-standard","version":"^0.1.0"},"handle":{"providerId":"module3","exportId":"pin-standard","label":"module3 : pin-standard"}},"scf_avr8_clkctrl_v1":{"interfaceId":{"name":"scf-avr8-clkctrl-v1","version":"^1.0.0"},"handle":{"providerId":"mccDevice","exportId":"CLKCTRL","label":"CLKCTRL"}},"device_meta":{"interfaceId":{"name":"device-meta","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"meta","label":"mccDevice : meta"}},"config_device":{"interfaceId":{"name":"config-device","version":"^1.1.1"},"handle":{"providerId":"module1","exportId":"config_device","label":"module1 : config_device"}},"initializer_system":{"interfaceId":{"name":"initializer-system","version":"^0.5.3"},"handle":{"providerId":"module1","exportId":"initializer_system","label":"module1 : initializer_system"}},"config_request":{"interfaceId":{"name":"config-request","version":"^2.0.1"},"handle":{"providerId":"module1","exportId":"config_request","label":"module1 : config_request"}}},"payload":{"main":{"hardware":{"pllsMclkstatus":false,"clkoutMclkctrla":false,"penMclkctrlb":true,"pdivMclkctrlb":"16X"}}}},"module18":{"scriptId":"@mchp-mcc/scf-avr8-tca-v1","imports":{"osc_clock":{"interfaceId":{"name":"osc-clocks","version":"^0.2.0"},"handle":{"providerId":"module5","exportId":"osc_clocks","label":"module5 : osc_clocks"}},"pin_standard":{"interfaceId":{"name":"pin-standard","version":"^0.1.0"}},"scf_avr8_tca_v1":{"interfaceId":{"name":"scf-avr8-tca-v1","version":"^1.0.0"},"handle":{"providerId":"mccDevice","exportId":"TCA1"}},"interrupt_standard":{"interfaceId":{"name":"interrupt-standard","version":"^1.0.1"}},"device_meta":{"interfaceId":{"name":"device_meta","version":"^1.0.0"}},"initializer_system":{"interfaceId":{"name":"initializer-system","version":"^0.5.3"}}},"payload":{"main":{"waveform":{"wgmodeTcaSingleCtrlb":"Single Slope PWM"},"software":{"wo2":true},"timerChannels":{"PWMModeTable":[{"rowId":2.0,"uid":"channel2","reqDuty":50.0}]},"hardware":{"requestedTimeNorm":0.262},"interrupt":{"ovfi":false}}}},"module2":{"scriptId":"@mchp-mcc/avr8-pin-manager","imports":{"avr8-pin-manager":{"interfaceId":{"name":"avr8-pin-manager","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"Pin Manager"}},"initializer_system":{"interfaceId":{"name":"initializer-system","version":"0.5.3"},"handle":{"providerId":"module1","exportId":"initializer_system"}}},"payload":{"adapterdata":{"portmux":{"data":{"PORTMUX.TCAROUTEA":{"TCA1":"PORTC"}}}}}}},"activated":{"module4":{"scriptId":"@mchp-mcc/scf-avr8-interrupt-v1","imports":{"device_meta":{"interfaceId":{"name":"device-meta","version":"1.0.0"}},"scf_avr8_interrupt_v1":{"interfaceId":{"name":"scf-avr8-interrupt-v1","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"CPUINT"},"isRequired":true},"initializer_system":{"interfaceId":{"name":"initializer-system","version":"^0.5.3"}}},"exports":{"interrupt":{"interfaces":[{"interfaceId":{"name":"interrupt-standard","version":"1.0.1"}}]}},"name":"Interrupt Manager"},"module1":{"scriptId":"@mchp-mcc/avr8-configuration-bits-v1","imports":{"device_meta":{"interfaceId":{"name":"device-meta","version":"1.0.0"}},"initializer_main":{"interfaceId":{"name":"initializer-main","version":"0.3.0"}},"avr8_configuration_bits_v1":{"interfaceId":{"name":"avr8-configuration-bits-v1","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"Configuration Bits"},"isRequired":true}},"exports":{"config_device":{"interfaces":[{"interfaceId":{"name":"config-device","version":"1.1.1"}}]},"initializer_system":{"interfaces":[{"interfaceId":{"name":"initializer-system","version":"0.5.3"}}]},"config_info":{"interfaces":[{"interfaceId":{"name":"config-info","version":"0.2.1"}}]},"config_request":{"interfaces":[{"interfaceId":{"name":"config-request","version":"2.0.2"}}]}},"name":"Configuration Bits"},"module0":{"scriptId":"@mchp-mcc/main-manager","imports":{"main":{"interfaceId":{"name":"main-manager","version":"^1.*"},"handle":{"providerId":"mccDevice","exportId":"MAIN MANAGER"},"isRequired":true}},"exports":{"initializer_main":{"interfaces":[{"interfaceId":{"name":"initializer-main","version":"0.3.0"}}]},"api_prefix_registration":{"interfaces":[{"interfaceId":{"name":"api-prefix-registration","version":"0.1.0"}}]}},"name":"Main"},"module3":{"scriptId":"@mchp-mcc/pin-content-processor","imports":{"device-meta":{"interfaceId":{"name":"device-meta","version":"1.0.0"}},"pin-architecture":{"interfaceId":{"name":"pin-architecture","version":"1.0.0"},"handle":{"providerId":"module2","exportId":"pin-architecture"},"isRequired":true}},"exports":{"pin-standard":{"interfaces":[{"interfaceId":{"name":"pin-standard","version":"0.1.0"}}],"isSingleton":true}},"name":"Pins"}},"content":{"@mchp-mcc/pin-content-processor":"3.1.20","@mchp-mcc/avr8-pin-manager":"4.1.6","@mchp-mcc/scf-avr8-tca-v1":"6.0.0","@mchp-mcc/scf-avr8-interrupt-v1":"5.0.5","@mchp-mcc/scf-avr8-clkctrl-v1":"5.3.0","@mchp-mcc/main-manager":"3.0.1","@mchp-mcc/avr8-configuration-bits-v1":"4.2.5"}} + {"userAddedModules":["module5","module86","module9","module78","module18","module2"],"version":"CURRENT","modules":{"module5":{"scriptId":"@mchp-mcc/scf-avr8-clkctrl-v1","imports":{"pin_standard":{"interfaceId":{"name":"pin-standard","version":"^0"},"handle":{"providerId":"module3","exportId":"pin-standard","label":"module3 : pin-standard"}},"scf_avr8_clkctrl_v1":{"interfaceId":{"name":"scf-avr8-clkctrl-v1","version":"^1.0.0"},"handle":{"providerId":"mccDevice","exportId":"CLKCTRL","label":"CLKCTRL"}},"device_meta":{"interfaceId":{"name":"device-meta","version":"^1"},"handle":{"providerId":"mccDevice","exportId":"meta","label":"mccDevice : meta"}},"config_device":{"interfaceId":{"name":"config-device","version":"^1.1.1"},"handle":{"providerId":"module1","exportId":"config_device","label":"module1 : config_device"}},"initializer_system":{"interfaceId":{"name":"initializer-system","version":"^0"},"handle":{"providerId":"module1","exportId":"initializer_system","label":"module1 : initializer_system"}},"config_request":{"interfaceId":{"name":"config-request","version":"^2.0.1"},"handle":{"providerId":"module1","exportId":"config_request","label":"module1 : config_request"}}},"framewSpecificState":{"userEditedImports":[]},"payload":{"main":{"hardware":{"pllsMclkstatus":false,"clkoutMclkctrla":false,"penMclkctrlb":true,"pdivMclkctrlb":"16X"}}}},"module4":{"scriptId":"@mchp-mcc/scf-avr8-interrupt-v1","imports":{"device_meta":{"interfaceId":{"name":"device-meta","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"meta"}},"scf_avr8_interrupt_v1":{"interfaceId":{"name":"scf-avr8-interrupt-v1","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"CPUINT"}},"initializer_system":{"interfaceId":{"name":"initializer-system","version":"^0"},"handle":{"providerId":"module1","exportId":"initializer_system"}}},"framewSpecificState":{"userEditedImports":[]}},"module86":{"scriptId":"@mchp-mcc/scf-avr8-tca-v1","imports":{"osc_clock":{"interfaceId":{"name":"osc-clocks","version":"^0"},"handle":{"providerId":"module5","exportId":"osc_clocks"}},"pin_standard":{"interfaceId":{"name":"pin-standard","version":"^0"},"handle":{"providerId":"module3","exportId":"pin-standard"}},"scf_avr8_tca_v1":{"interfaceId":{"name":"scf-avr8-tca-v1","version":"^1"},"handle":{"providerId":"mccDevice","exportId":"TCA1"}},"interrupt_standard":{"interfaceId":{"name":"interrupt-standard","version":"^1"},"handle":{"providerId":"module4","exportId":"interrupt"}},"device_meta":{"interfaceId":{"name":"device-meta","version":"^1"},"handle":{"providerId":"mccDevice","exportId":"meta"}},"initializer_system":{"interfaceId":{"name":"initializer-system","version":"^0"},"handle":{"providerId":"module1","exportId":"initializer_system"}}},"framewSpecificState":{"userEditedImports":[]},"payload":{"main":{"hardware":{"requestedTimeNorm":0.262,"clkselTcaSingleCtrla":"System Clock"},"waveform":{"wgmodeTcaSingleCtrlb":"Single Slope PWM","wo2":true,"PWMDC2":50.0},"timerChannels":{"PWMModeTable":[{"rowId":2.0,"uid":"channel2","reqDuty":"50"}]}}}},"module1":{"scriptId":"@mchp-mcc/avr8-configuration-bits-v1","imports":{"device_meta":{"interfaceId":{"name":"device-meta","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"meta"}},"initializer_main":{"interfaceId":{"name":"initializer-main","version":"^0.3.0"},"handle":{"providerId":"module0","exportId":"initializer_main"}},"avr8_configuration_bits_v1":{"interfaceId":{"name":"avr8-configuration-bits-v1","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"Configuration Bits"}}},"framewSpecificState":{"userEditedImports":[]}},"module0":{"scriptId":"@mchp-mcc/main-manager","imports":{"main":{"interfaceId":{"name":"main-manager","version":"^1.*"},"handle":{"providerId":"mccDevice","exportId":"MAIN MANAGER"}}},"framewSpecificState":{"userEditedImports":[]}},"module3":{"scriptId":"@mchp-mcc/pin-content-processor","imports":{"device-meta":{"interfaceId":{"name":"device-meta","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"meta"}},"pin-architecture":{"interfaceId":{"name":"pin-architecture","version":"1.0.0"},"handle":{"providerId":"module2","exportId":"pin-architecture"}}},"framewSpecificState":{"userEditedImports":[]},"payload":{"saved":{"rows":{"pcp":{"GPIO$GPIO$input":{"pins":{"PC6":{"state":"UL"}}},"GPIO$GPIO$output":{"pins":{"PC6":{"state":"UL"}}}}}}}},"module2":{"scriptId":"@mchp-mcc/avr8-pin-manager","imports":{"avr8-pin-manager":{"interfaceId":{"name":"avr8-pin-manager","version":"1.0.0"},"handle":{"providerId":"mccDevice","exportId":"Pin Manager"}},"initializer_system":{"interfaceId":{"name":"initializer-system","version":"^0.*"},"handle":{"providerId":"module1","exportId":"initializer_system"}}},"framewSpecificState":{"userEditedImports":[]},"payload":{"adapterdata":{"portmux":{"data":{"PORTMUX.TCAROUTEA":{"TCA1":"PORTC"}}}}}}},"content":{"@mchp-mcc/avr-8bit":"4.7.0","@mchp-mcc/pin-content-processor":"3.7.0","@mchp-mcc/avr8-pin-manager":"4.5.1","@mchp-mcc/scf-avr8-tca-v1":"6.0.9","@mchp-mcc/scf-avr8-interrupt-v1":"5.0.12","@mchp-mcc/main-manager":"3.1.1","@mchp-mcc/scf-avr8-clkctrl-v1":"5.3.5","@mchp-mcc/avr8-configuration-bits-v1":"4.2.12"}} - - - main.c - e3c4a1301b84e96f2895b14f7a84031348c9ed5eb5ada6671330938bdd1af60a - - - mcc_generated_files\system\ccp.h - 640a7e7c6f77a34a73de60758dc2757ee5c75881790c5c7b708ca5d1ea6dc9df - - - mcc_generated_files\system\clock.h - 31b9d46e13ad9f3285c762f4782de903b720eb81933e4e4a71892f2bb3ad1790 - + mcc_generated_files\system\interrupt.h - b022725fd38712775ab994c6c71f5d1db46d9e03a4337786bfb990f435a46c0e - - - mcc_generated_files\system\pins.h - df1d6871fed9371032ab57ab34f5368d9c8efcae43c53dcc382e47894c4e831e - - - mcc_generated_files\system\port.h - 0f58da0b5c380350f551f7131388b4e551c2ece419f2cf47b552f59ed730fcee - - - mcc_generated_files\system\protected_io.h - c688f938203283d8000dc586b7e57c247f3a6002942805056843d73b2700cb7c - - - mcc_generated_files\system\src\clock.c - ac3ecc47bb7519326364cc4ee39fa5516c088c7094b7bdd93bfbb37aabfa5261 - - - mcc_generated_files\system\src\config_bits.c - e3dc4ec31e67a24fe5cdb176e53bdd7f28f286ee9dd9550573ae324f4f6ffb7e - - - mcc_generated_files\system\src\interrupt.c - 23d94f8a4bec0d2f8fcb43d9aec6051313ee9b33dfddfd982af80e8d88a29be8 - - - mcc_generated_files\system\src\pins.c - 10004d64bc6674bb2205ab0e58ce868fdca899058d618080280ff14e0925307d - - - mcc_generated_files\system\src\protected_io.S - fad53f11e82b4236c407b51c9941190dcf05f242b298347eaea79b8bc7576219 - - - mcc_generated_files\system\src\system.c - 5a71e4332be6e44d19b03cb8e9a768fb79f99636a927788d9730fcf8015ada19 - - - mcc_generated_files\system\system.h - ec2c2cc051f8031fd5a570ed922bf5155bcfdbaa469ff857854f8265ba2cf79f - - - mcc_generated_files\system\utils\assembler.h - 211be4a801f08b9622f77db72744493c35657ba865608456bd29115f017d8244 - - - mcc_generated_files\system\utils\assembler\gas.h - 841835faa16cba14ee28cdc37f1c459ee9eb9b7b0d54184d93e507e42122c7ab - - - mcc_generated_files\system\utils\assembler\iar.h - d662b40e7b518444fe4291c4a6239c6c1f23c4797fe6aa2d970b1393624bc855 - - - mcc_generated_files\system\utils\atomic.h - d1a8e47a9a574c4333368c2be6237b920d8114d493da5953f77db1ef861484d2 + 75695d9cc1e45b240332ce98cce195022df36e1a15d4891d26cff6e390f2b765 mcc_generated_files\system\utils\compiler.h - 5b59289fbfcf0508f63ed04a9f7f2c1905f13d3f98a37ea4cc47f25c88b67db8 - - - mcc_generated_files\system\utils\interrupt_avr8.h - aff6f8ddfa242fc1e167e5bef7e0098a4f11c8236cb8ae9bde03e12793cc9fa8 - - - mcc_generated_files\system\utils\utils.h - 595b22c716b6bab174532a9c5642cff01c3011ade04c3ea71b3421114a25af8a - - - mcc_generated_files\system\utils\utils_assert.h - 0571f4f1acfc39c0b42751a54c1a30ef8b1470e3f234a90b11e717ab504f611f - - - mcc_generated_files\timer\src\tca1.c - 856f28658dfbacf95378b045677ef437e96a1a136173885facdb63669835b1a7 - - - mcc_generated_files\timer\tca1.h - 8298c2b3c088967a5551ae7efe1995108ca5de3e33e3746bd26d341755f14834 + 78fc7aaa9215a68e38da793ec09d384598330944557b49c79aef4af747e76e08 mcc_generated_files\timer\timer_interface.h - fc130916d029452049d9f77538b00b108acfc5ba646245fcb202492c443f3406 + c663a68f1004f660bf34cd96cf61a9012847f97b9cff5098686010e234deb62a + + + mcc_generated_files\system\port.h + 3683f158a55d8eef2efa3d884de6deac57477b7705af0b8241682cb869f2fe90 + + + mcc_generated_files\system\utils\interrupt_avr8.h + bf66a9d1b57d17151c1aa3b9e207a694bbf854df962b69135c6d922d026ce7cf + + + mcc_generated_files\system\utils\utils_assert.h + e6a57e1164f862da6a703fa67c200945b7a21fb6ab9e9b57ff14507467e04cc6 + + + mcc_generated_files\system\pins.h + 5c25df069a16a53587af16e06a05381ac3b880aecf9474e9cf49a86cd94c83e6 + + + mcc_generated_files\system\utils\assembler\iar.h + baafb63c988a088a34457e1d6433e87a0b658d1486fce12eec427b9457991549 + + + mcc_generated_files\timer\tca1.h + e3dcf36692e1f7a3490624eb1cd178e3ac8daf73e72f70e7dd3f95a1edc2e343 + + + mcc_generated_files\system\src\pins.c + 2ccddce40754a9f938a54ff8071fb18f6a4db4ada3a40f2a5278cbc9e89310ad + + + mcc_generated_files\system\src\clock.c + e971f1907c8aa8acc2f7d4cff2c6e86642cf158e6d07af23fe749a11180bd3c4 + + + mcc_generated_files\system\clock.h + 7271ece4efe89abbda0999fa02bf3c73e2a5c839ddc0d52854075343d935d9d7 + + + mcc_generated_files\system\utils\atomic.h + 2a0975cf197fcfdec0a503a3e3b899336a83d123a3066d0e8c2b3fc5dbc3d6ac + + + mcc_generated_files\system\ccp.h + 771ef1ef56b145740365ded07000a4e9820fc4e2c7025b40ab80bf13288ee5e3 + + + mcc_generated_files\system\system.h + 57114369fc9cb25875116c6b76a84d94c4d49665a9c591ed4c7df3e520a7d25d + + + main.c + a0e31898f37822d5d434ac96e346238a6de7354dfb7de5e96fdcb0bb33f746ed + + + mcc_generated_files\system\utils\assembler\gas.h + 05129f00ef45a989573a0427f37de7661fa3005f22778ad24c0dca228468a018 + + + mcc_generated_files\system\src\interrupt.c + 913ff00e35adde59c34b51fdd0c16fa67096f7dd67900cead6dc1c6d9021ffde + + + mcc_generated_files\timer\src\tca1.c + 4c255db0a9d283b761db5c879aaedd4785dfb632b9c53cbbdfbdce9dd235a936 + + + mcc_generated_files\system\utils\utils.h + d02918b46fc138c440e381cb9a557c9f69c1cc3eb141f007b0a3738f02f4d543 + + + mcc_generated_files\system\config_bits.h + fa24220622dc1f4ebda67e226cb7480d29e7dcb70ba069c8a618c7d1cc67a0ef + + + mcc_generated_files\system\utils\assembler.h + a51d2178d0c940ae2d1b51eff122d0d63e53efe29edb2fb8c7fbd78b1c2fcabe + + + mcc_generated_files\system\src\config_bits.c + 479702ca19c388e4bc8accc237cb66c1d44ad0b9494ce470bfb3875e5e592c08 + + + mcc_generated_files\system\src\protected_io.S + 3bb77a623e934d19f38ed22bfd302ac90e929cb841406c027d11193bd5358b36 + + + mcc_generated_files\system\protected_io.h + 2197a3749e9525a893011ccc9095321665641b68aeda5ebbea9d2711ab3f9aa7 + + + mcc_generated_files\system\src\system.c + 4d2f05825bc39b6616a69bf6ebc3b91aa74ce240d80f029ad9f4edfc38a83e2c \ No newline at end of file diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/main.c b/avr128da48-cnano-led-blink-pwm-mcc.X/main.c index 652bb1b..cd90c5e 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/main.c +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/main.c @@ -1,35 +1,34 @@ + /* + * MAIN Generated Driver File + * + * @file main.c + * + * @defgroup main MAIN + * + * @brief This is the generated driver implementation file for the MAIN driver. + * + * @version MAIN Driver Version 1.0.0 +*/ + /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ #include "mcc_generated_files/system/system.h" diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/ccp.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/ccp.h index baee01d..9045036 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/ccp.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/ccp.h @@ -1,44 +1,33 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * CCP Header File + * + * @file ccp.h + * + * @ingroup config_bitsdriver + * + * @brief This file contains the Configuration Change Protection (CCP) header file for the Configuration bits driver. + * + * @version Driver Version 1.0.0 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ @@ -53,39 +42,29 @@ extern "C" { #endif /** - * \brief Write to a CCP-protected 8-bit I/O register - * - * \param addr Address of the I/O register - * \param value Value to be written - * - * \note Using IAR Embedded workbench, the choice of memory model has an impact - * on calling convention. The memory model is not visible to the - * preprocessor, so it must be defined in the Assembler preprocessor directives. + * @brief Writes to a CCP-protected 8-bit I/O register. + * @param addr Address of the I/O register. + * @param value Value to be written. + * NOTE: Using IAR Embedded workbench, the choice of memory model has an impact on calling convention. + * Memory model must be defined in the Assembler preprocessor directives to be visible to the preprocessor. */ static inline void ccp_write_io(void *addr, uint8_t value) { protected_write_io(addr, CCP_IOREG_gc, value); } -/** @} */ - /** - * \brief Write to CCP-protected 8-bit SPM register - * - * \param addr Address of the SPM register - * \param value Value to be written - * - * \note Using IAR Embedded workbench, the choice of memory model has an impact - * on calling convention. The memory model is not visible to the - * preprocessor, so it must be defined in the Assembler preprocessor directives. + * @brief Writes to a CCP-protected 8-bit SPM register. + * @param addr Address of the SPM register. + * @param value Value to be written. + * NOTE: Using IAR Embedded workbench, the choice of memory model has an impacton calling convention. + * Memory model must be defined in the Assembler preprocessor directives to be visible to the preprocessor. */ static inline void ccp_write_spm(void *addr, uint8_t value) { protected_write_io(addr, CCP_SPM_gc, value); } -/** @} */ - #ifdef __cplusplus } #endif diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/clock.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/clock.h index e360534..3871a1b 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/clock.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/clock.h @@ -1,44 +1,33 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * CLKCTRL Generated Driver API Header File + * + * @file clkctrl.h + * + * @defgroup clkctrl CLKCTRL + * + * @brief This file contains the API prototype for the CLKCTRL driver. + * + * @version CLKCTRL Driver Version 1.0.0 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ @@ -50,7 +39,13 @@ Copyright (c) [2012-2020] Microchip Technology Inc. #endif #include "ccp.h" - +/** + * @ingroup clkctrl + * @brief Initializes the Clock controller. + * @param None. + * @return None. + * + */ void CLOCK_Initialize(void); #endif // CLOCK_CONFIG_H \ No newline at end of file diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/config_bits.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/config_bits.h new file mode 100644 index 0000000..cd14867 --- /dev/null +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/config_bits.h @@ -0,0 +1,42 @@ +/** + * CONFIGURATION BITS Generated Driver Header File + * + * @file config_bits.h + * + * @defgroup config_bitsdriver Configuration Bits Driver + * + * @brief This file contains the generated header file for the Configuration bits driver. + * + * @version Driver Version 1.0.4 +*/ + +/* +© [2023] Microchip Technology Inc. and its subsidiaries. + + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. +*/ + +#ifndef CONFIG_BITS_H +#define CONFIG_BITS_H + +#include "../system/clock.h" + +#endif //CONFIG_BITS_H +/** + End of File +*/ \ No newline at end of file diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/interrupt.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/interrupt.h index e4fa5e3..2dc2f85 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/interrupt.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/interrupt.h @@ -1,44 +1,34 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * Interrupt Manager Generated Driver API Header File. + * + * @file interrupt.h + * + * @defgroup interrupt INTERRUPT + * + * @brief This file contains the API prototype for the Interrupt Manager. + * + * @version Interrupt Manager Driver Version 1.0.0 */ + /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ @@ -51,11 +41,13 @@ Copyright (c) [2012-2020] Microchip Technology Inc. #ifdef __cplusplus extern "C" { -#endif /** \ - * \brief Initialize cpuint interface \ - * \ - * \return Initialization status \ - */ +#endif + +/** + * @ingroup interrupt + * @brief Initializes the Interrupt module. + * @retval 0 - Initialization is successful. + */ int8_t CPUINT_Initialize(); #ifdef __cplusplus diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/pins.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/pins.h index cb7ab1c..4f963a2 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/pins.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/pins.h @@ -1,11 +1,35 @@ /** - @Company - Microchip Technology Inc. + * Generated Pins header File + * + * @file pins.h + * + * @defgroup pinsdriver Pins Driver + * + * @brief This is generated driver header for pins. + * This header file provides APIs for all pins selected in the GUI. + * + * @version Driver Version 1.1.0 +*/ - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 +/* +© [2023] Microchip Technology Inc. and its subsidiaries. + + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ #ifndef PINS_H_INCLUDED @@ -31,8 +55,34 @@ #define IO_PC6_EnableInterruptForFallingEdge() do { PORTC.PIN6CTRL = (PORTC.PIN6CTRL & ~PORT_ISC_gm) | 0x3 ; } while(0) #define IO_PC6_DisableDigitalInputBuffer() do { PORTC.PIN6CTRL = (PORTC.PIN6CTRL & ~PORT_ISC_gm) | 0x4 ; } while(0) #define IO_PC6_EnableInterruptForLowLevelSensing() do { PORTC.PIN6CTRL = (PORTC.PIN6CTRL & ~PORT_ISC_gm) | 0x5 ; } while(0) +#define PC6_SetInterruptHandler IO_PC6_SetInterruptHandler +/** + * @ingroup pinsdriver + * @brief GPIO and peripheral I/O initialization + * @param none + * @return none + */ void PIN_MANAGER_Initialize(); -void PC6_DefaultInterruptHandler(void); -void PC6_SetInterruptHandler(void (* interruptHandler)(void)) ; + +/** + * @ingroup pinsdriver + * @brief Default Interrupt Handler for IO_PC6 pin. + * This is a predefined interrupt handler to be used together with the IO_PC6_SetInterruptHandler() method. + * This handler is called every time the IO_PC6 ISR is executed. + * @pre PIN_MANAGER_Initialize() has been called at least once + * @param none + * @return none + */ +void IO_PC6_DefaultInterruptHandler(void); + +/** + * @ingroup pinsdriver + * @brief Interrupt Handler Setter for IO_PC6 pin input-sense-config functionality. + * Allows selecting an interrupt handler for IO_PC6 at application runtime + * @pre PIN_MANAGER_Initialize() has been called at least once + * @param InterruptHandler function pointer. + * @return none + */ +void IO_PC6_SetInterruptHandler(void (* interruptHandler)(void)) ; #endif /* PINS_H_INCLUDED */ diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/port.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/port.h index 9fbe20b..541c6b2 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/port.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/port.h @@ -1,11 +1,34 @@ /** - @Company - Microchip Technology Inc. + * Generated Ports header File + * + * @file port.h + * + * @ingroup pinsdriver + * + * @brief This Source file provides APIs. + * + * @version Driver Version 1.0.1 +*/ - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 +/* +© [2023] Microchip Technology Inc. and its subsidiaries. + + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ @@ -18,23 +41,31 @@ extern "C" { #include "utils/compiler.h" +/* @ingroup pinsdriver + * @enum port_pull_mode + * Defines the pullup modes. + */ enum port_pull_mode { PORT_PULL_OFF, PORT_PULL_UP, }; +/* @ingroup pinsdriver + * @enum port_dir + * Defines the port directions. + */ enum port_dir { PORT_DIR_IN, PORT_DIR_OUT, PORT_DIR_OFF, }; + /** - * \brief Set port pin pull mode - * - * Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used - * - * \param[in] pin The pin number within port - * \param[in] pull_mode Pin pull mode + * @ingroup pinsdriver + * @brief Set port pin pull mode, Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used. + * @param pin The pin number within port + * @param pull_mode Pin pull mode + * @return none */ static inline void PORTA_set_pin_pull_mode(const uint8_t pin, const enum port_pull_mode pull_mode) { @@ -48,12 +79,11 @@ static inline void PORTA_set_pin_pull_mode(const uint8_t pin, const enum port_pu } /** - * \brief Set port pin inverted mode - * - * Configure pin invert I/O or not - * - * \param[in] pin The pin number within port - * \param[in] inverted Pin inverted mode + * @ingroup pinsdriver + * @brief Set port pin inverted mode, Configure pin invert I/O or not. + * @param pin The pin number within port + * @param inverted Pin inverted mode + * @return none */ static inline void PORTA_pin_set_inverted(const uint8_t pin, const bool inverted) { @@ -67,19 +97,12 @@ static inline void PORTA_pin_set_inverted(const uint8_t pin, const bool inverted } /** - * \brief Set port pin input/sense configuration - * - * Enable/disable digital input buffer and pin change interrupt, - * select pin interrupt edge/level sensing mode - * - * \param[in] pin pin number within port - * \param[in] isc PORT_ISC_INTDISABLE_gc = Interrupt disabled but input buffer enabled - * PORT_ISC_BOTHEDGES_gc = Sense Both Edges - * PORT_ISC_RISING_gc = Sense Rising Edge - * PORT_ISC_FALLING_gc = Sense Falling Edge - * PORT_ISC_INPUT_DISABLE_gc = Digital Input Buffer disabled - * PORT_ISC_LEVEL_gc = Sense low Level - * + * @ingroup pinsdriver + * @brief Set port pin input/sense configuration, Enable/disable digital input buffer and pin change interrupt, + * select pin interrupt edge/level sensing mode + * @param The pin number within port + * @param isc PORT_ISC_t + * @return none */ static inline void PORTA_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) { @@ -89,17 +112,14 @@ static inline void PORTA_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) } /** - * \brief Set port data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] mask Bit mask where 1 means apply direction setting to the + * @param mask Bit mask where 1 means apply direction setting to the * corresponding pin - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param dir port_dir + * @return none */ static inline void PORTA_set_port_dir(const uint8_t mask, const enum port_dir dir) { @@ -127,16 +147,13 @@ static inline void PORTA_set_port_dir(const uint8_t mask, const enum port_dir di } /** - * \brief Set port pin data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port pin data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] pin The pin number within port - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param pin The pin number within port + * @param dir port_dir + * @return none */ static inline void PORTA_set_pin_dir(const uint8_t pin, const enum port_dir dir) { @@ -156,14 +173,14 @@ static inline void PORTA_set_pin_dir(const uint8_t pin, const enum port_dir dir) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on the pins defined by the bit mask. * - * Sets output level on the pins defined by the bit mask - * - * \param[in] mask Bit mask where 1 means apply port level to the corresponding + * @param mask Bit mask where 1 means apply port level to the corresponding * pin - * \param[in] level true = Pin levels set to "high" state + * @param level -boolean value that defines the logic state of the pin level * false = Pin levels set to "low" state + * @return none */ static inline void PORTA_set_port_level(const uint8_t mask, const bool level) { @@ -175,13 +192,12 @@ static inline void PORTA_set_port_level(const uint8_t mask, const bool level) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on a pin. * - * Sets output level on a pin - * - * \param[in] pin The pin number within port - * \param[in] level true = Pin level set to "high" state - * false = Pin level set to "low" state + * @param pin The pin number within port + * @param level -boolean value that defines the logic state of the pin level + * @return none */ static inline void PORTA_set_pin_level(const uint8_t pin, const bool level) { @@ -193,12 +209,12 @@ static inline void PORTA_set_pin_level(const uint8_t pin, const bool level) } /** - * \brief Toggle out level on pins + * @ingroup pinsdriver + * @brief Toggle out level on pins, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] mask Bit mask where 1 means toggle pin level to the corresponding + * @param mask Bit mask where 1 means toggle pin level to the corresponding * pin + * @return none */ static inline void PORTA_toggle_port_level(const uint8_t mask) { @@ -206,11 +222,11 @@ static inline void PORTA_toggle_port_level(const uint8_t mask) } /** - * \brief Toggle output level on pin + * @ingroup pinsdriver + * @brief Toggle output level on pin, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] pin The pin number within port + * @param pin The pin number within port + * @return none */ static inline void PORTA_toggle_pin_level(const uint8_t pin) { @@ -218,10 +234,11 @@ static inline void PORTA_toggle_pin_level(const uint8_t pin) } /** - * \brief Get input level on pins - * - * Read the input level on pins connected to a port + * @ingroup pinsdriver + * @brief Get input level on pins, Read the input level on pins connected to a port. * + * @param none + * @return none */ static inline uint8_t PORTA_get_port_level() { @@ -229,9 +246,11 @@ static inline uint8_t PORTA_get_port_level() } /** - * \brief Get level on pin + * @ingroup pinsdriver + * @brief Get level on pin, Reads the level on pins connected to a port. * - * Reads the level on pins connected to a port + * @param pin The pin number within port + * @return none */ static inline bool PORTA_get_pin_level(const uint8_t pin) { @@ -239,23 +258,23 @@ static inline bool PORTA_get_pin_level(const uint8_t pin) } /** - * \brief Write value to Port + * @ingroup pinsdriver + * @brief Write value to Port, Write directly to the port OUT register. * - * Write directly to the port OUT register - * - * \param[in] value Value to write to the port register + * @param value Value to write to the port register + * @return none */ static inline void PORTA_write_port(const uint8_t value) { VPORTA.OUT = value; } + /** - * \brief Set port pin pull mode - * - * Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used - * - * \param[in] pin The pin number within port - * \param[in] pull_mode Pin pull mode + * @ingroup pinsdriver + * @brief Set port pin pull mode, Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used. + * @param pin The pin number within port + * @param pull_mode Pin pull mode + * @return none */ static inline void PORTB_set_pin_pull_mode(const uint8_t pin, const enum port_pull_mode pull_mode) { @@ -269,12 +288,11 @@ static inline void PORTB_set_pin_pull_mode(const uint8_t pin, const enum port_pu } /** - * \brief Set port pin inverted mode - * - * Configure pin invert I/O or not - * - * \param[in] pin The pin number within port - * \param[in] inverted Pin inverted mode + * @ingroup pinsdriver + * @brief Set port pin inverted mode, Configure pin invert I/O or not. + * @param pin The pin number within port + * @param inverted Pin inverted mode + * @return none */ static inline void PORTB_pin_set_inverted(const uint8_t pin, const bool inverted) { @@ -288,19 +306,12 @@ static inline void PORTB_pin_set_inverted(const uint8_t pin, const bool inverted } /** - * \brief Set port pin input/sense configuration - * - * Enable/disable digital input buffer and pin change interrupt, - * select pin interrupt edge/level sensing mode - * - * \param[in] pin pin number within port - * \param[in] isc PORT_ISC_INTDISABLE_gc = Interrupt disabled but input buffer enabled - * PORT_ISC_BOTHEDGES_gc = Sense Both Edges - * PORT_ISC_RISING_gc = Sense Rising Edge - * PORT_ISC_FALLING_gc = Sense Falling Edge - * PORT_ISC_INPUT_DISABLE_gc = Digital Input Buffer disabled - * PORT_ISC_LEVEL_gc = Sense low Level - * + * @ingroup pinsdriver + * @brief Set port pin input/sense configuration, Enable/disable digital input buffer and pin change interrupt, + * select pin interrupt edge/level sensing mode + * @param The pin number within port + * @param isc PORT_ISC_t + * @return none */ static inline void PORTB_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) { @@ -310,17 +321,14 @@ static inline void PORTB_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) } /** - * \brief Set port data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] mask Bit mask where 1 means apply direction setting to the + * @param mask Bit mask where 1 means apply direction setting to the * corresponding pin - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param dir port_dir + * @return none */ static inline void PORTB_set_port_dir(const uint8_t mask, const enum port_dir dir) { @@ -348,16 +356,13 @@ static inline void PORTB_set_port_dir(const uint8_t mask, const enum port_dir di } /** - * \brief Set port pin data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port pin data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] pin The pin number within port - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param pin The pin number within port + * @param dir port_dir + * @return none */ static inline void PORTB_set_pin_dir(const uint8_t pin, const enum port_dir dir) { @@ -377,14 +382,14 @@ static inline void PORTB_set_pin_dir(const uint8_t pin, const enum port_dir dir) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on the pins defined by the bit mask. * - * Sets output level on the pins defined by the bit mask - * - * \param[in] mask Bit mask where 1 means apply port level to the corresponding + * @param mask Bit mask where 1 means apply port level to the corresponding * pin - * \param[in] level true = Pin levels set to "high" state + * @param level -boolean value that defines the logic state of the pin level * false = Pin levels set to "low" state + * @return none */ static inline void PORTB_set_port_level(const uint8_t mask, const bool level) { @@ -396,13 +401,12 @@ static inline void PORTB_set_port_level(const uint8_t mask, const bool level) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on a pin. * - * Sets output level on a pin - * - * \param[in] pin The pin number within port - * \param[in] level true = Pin level set to "high" state - * false = Pin level set to "low" state + * @param pin The pin number within port + * @param level -boolean value that defines the logic state of the pin level + * @return none */ static inline void PORTB_set_pin_level(const uint8_t pin, const bool level) { @@ -414,12 +418,12 @@ static inline void PORTB_set_pin_level(const uint8_t pin, const bool level) } /** - * \brief Toggle out level on pins + * @ingroup pinsdriver + * @brief Toggle out level on pins, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] mask Bit mask where 1 means toggle pin level to the corresponding + * @param mask Bit mask where 1 means toggle pin level to the corresponding * pin + * @return none */ static inline void PORTB_toggle_port_level(const uint8_t mask) { @@ -427,11 +431,11 @@ static inline void PORTB_toggle_port_level(const uint8_t mask) } /** - * \brief Toggle output level on pin + * @ingroup pinsdriver + * @brief Toggle output level on pin, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] pin The pin number within port + * @param pin The pin number within port + * @return none */ static inline void PORTB_toggle_pin_level(const uint8_t pin) { @@ -439,10 +443,11 @@ static inline void PORTB_toggle_pin_level(const uint8_t pin) } /** - * \brief Get input level on pins - * - * Read the input level on pins connected to a port + * @ingroup pinsdriver + * @brief Get input level on pins, Read the input level on pins connected to a port. * + * @param none + * @return none */ static inline uint8_t PORTB_get_port_level() { @@ -450,9 +455,11 @@ static inline uint8_t PORTB_get_port_level() } /** - * \brief Get level on pin + * @ingroup pinsdriver + * @brief Get level on pin, Reads the level on pins connected to a port. * - * Reads the level on pins connected to a port + * @param pin The pin number within port + * @return none */ static inline bool PORTB_get_pin_level(const uint8_t pin) { @@ -460,23 +467,23 @@ static inline bool PORTB_get_pin_level(const uint8_t pin) } /** - * \brief Write value to Port + * @ingroup pinsdriver + * @brief Write value to Port, Write directly to the port OUT register. * - * Write directly to the port OUT register - * - * \param[in] value Value to write to the port register + * @param value Value to write to the port register + * @return none */ static inline void PORTB_write_port(const uint8_t value) { VPORTB.OUT = value; } + /** - * \brief Set port pin pull mode - * - * Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used - * - * \param[in] pin The pin number within port - * \param[in] pull_mode Pin pull mode + * @ingroup pinsdriver + * @brief Set port pin pull mode, Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used. + * @param pin The pin number within port + * @param pull_mode Pin pull mode + * @return none */ static inline void PORTC_set_pin_pull_mode(const uint8_t pin, const enum port_pull_mode pull_mode) { @@ -490,12 +497,11 @@ static inline void PORTC_set_pin_pull_mode(const uint8_t pin, const enum port_pu } /** - * \brief Set port pin inverted mode - * - * Configure pin invert I/O or not - * - * \param[in] pin The pin number within port - * \param[in] inverted Pin inverted mode + * @ingroup pinsdriver + * @brief Set port pin inverted mode, Configure pin invert I/O or not. + * @param pin The pin number within port + * @param inverted Pin inverted mode + * @return none */ static inline void PORTC_pin_set_inverted(const uint8_t pin, const bool inverted) { @@ -509,19 +515,12 @@ static inline void PORTC_pin_set_inverted(const uint8_t pin, const bool inverted } /** - * \brief Set port pin input/sense configuration - * - * Enable/disable digital input buffer and pin change interrupt, - * select pin interrupt edge/level sensing mode - * - * \param[in] pin pin number within port - * \param[in] isc PORT_ISC_INTDISABLE_gc = Interrupt disabled but input buffer enabled - * PORT_ISC_BOTHEDGES_gc = Sense Both Edges - * PORT_ISC_RISING_gc = Sense Rising Edge - * PORT_ISC_FALLING_gc = Sense Falling Edge - * PORT_ISC_INPUT_DISABLE_gc = Digital Input Buffer disabled - * PORT_ISC_LEVEL_gc = Sense low Level - * + * @ingroup pinsdriver + * @brief Set port pin input/sense configuration, Enable/disable digital input buffer and pin change interrupt, + * select pin interrupt edge/level sensing mode + * @param The pin number within port + * @param isc PORT_ISC_t + * @return none */ static inline void PORTC_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) { @@ -531,17 +530,14 @@ static inline void PORTC_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) } /** - * \brief Set port data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] mask Bit mask where 1 means apply direction setting to the + * @param mask Bit mask where 1 means apply direction setting to the * corresponding pin - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param dir port_dir + * @return none */ static inline void PORTC_set_port_dir(const uint8_t mask, const enum port_dir dir) { @@ -569,16 +565,13 @@ static inline void PORTC_set_port_dir(const uint8_t mask, const enum port_dir di } /** - * \brief Set port pin data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port pin data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] pin The pin number within port - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param pin The pin number within port + * @param dir port_dir + * @return none */ static inline void PORTC_set_pin_dir(const uint8_t pin, const enum port_dir dir) { @@ -598,14 +591,14 @@ static inline void PORTC_set_pin_dir(const uint8_t pin, const enum port_dir dir) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on the pins defined by the bit mask. * - * Sets output level on the pins defined by the bit mask - * - * \param[in] mask Bit mask where 1 means apply port level to the corresponding + * @param mask Bit mask where 1 means apply port level to the corresponding * pin - * \param[in] level true = Pin levels set to "high" state + * @param level -boolean value that defines the logic state of the pin level * false = Pin levels set to "low" state + * @return none */ static inline void PORTC_set_port_level(const uint8_t mask, const bool level) { @@ -617,13 +610,12 @@ static inline void PORTC_set_port_level(const uint8_t mask, const bool level) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on a pin. * - * Sets output level on a pin - * - * \param[in] pin The pin number within port - * \param[in] level true = Pin level set to "high" state - * false = Pin level set to "low" state + * @param pin The pin number within port + * @param level -boolean value that defines the logic state of the pin level + * @return none */ static inline void PORTC_set_pin_level(const uint8_t pin, const bool level) { @@ -635,12 +627,12 @@ static inline void PORTC_set_pin_level(const uint8_t pin, const bool level) } /** - * \brief Toggle out level on pins + * @ingroup pinsdriver + * @brief Toggle out level on pins, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] mask Bit mask where 1 means toggle pin level to the corresponding + * @param mask Bit mask where 1 means toggle pin level to the corresponding * pin + * @return none */ static inline void PORTC_toggle_port_level(const uint8_t mask) { @@ -648,11 +640,11 @@ static inline void PORTC_toggle_port_level(const uint8_t mask) } /** - * \brief Toggle output level on pin + * @ingroup pinsdriver + * @brief Toggle output level on pin, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] pin The pin number within port + * @param pin The pin number within port + * @return none */ static inline void PORTC_toggle_pin_level(const uint8_t pin) { @@ -660,10 +652,11 @@ static inline void PORTC_toggle_pin_level(const uint8_t pin) } /** - * \brief Get input level on pins - * - * Read the input level on pins connected to a port + * @ingroup pinsdriver + * @brief Get input level on pins, Read the input level on pins connected to a port. * + * @param none + * @return none */ static inline uint8_t PORTC_get_port_level() { @@ -671,9 +664,11 @@ static inline uint8_t PORTC_get_port_level() } /** - * \brief Get level on pin + * @ingroup pinsdriver + * @brief Get level on pin, Reads the level on pins connected to a port. * - * Reads the level on pins connected to a port + * @param pin The pin number within port + * @return none */ static inline bool PORTC_get_pin_level(const uint8_t pin) { @@ -681,23 +676,23 @@ static inline bool PORTC_get_pin_level(const uint8_t pin) } /** - * \brief Write value to Port + * @ingroup pinsdriver + * @brief Write value to Port, Write directly to the port OUT register. * - * Write directly to the port OUT register - * - * \param[in] value Value to write to the port register + * @param value Value to write to the port register + * @return none */ static inline void PORTC_write_port(const uint8_t value) { VPORTC.OUT = value; } + /** - * \brief Set port pin pull mode - * - * Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used - * - * \param[in] pin The pin number within port - * \param[in] pull_mode Pin pull mode + * @ingroup pinsdriver + * @brief Set port pin pull mode, Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used. + * @param pin The pin number within port + * @param pull_mode Pin pull mode + * @return none */ static inline void PORTD_set_pin_pull_mode(const uint8_t pin, const enum port_pull_mode pull_mode) { @@ -711,12 +706,11 @@ static inline void PORTD_set_pin_pull_mode(const uint8_t pin, const enum port_pu } /** - * \brief Set port pin inverted mode - * - * Configure pin invert I/O or not - * - * \param[in] pin The pin number within port - * \param[in] inverted Pin inverted mode + * @ingroup pinsdriver + * @brief Set port pin inverted mode, Configure pin invert I/O or not. + * @param pin The pin number within port + * @param inverted Pin inverted mode + * @return none */ static inline void PORTD_pin_set_inverted(const uint8_t pin, const bool inverted) { @@ -730,19 +724,12 @@ static inline void PORTD_pin_set_inverted(const uint8_t pin, const bool inverted } /** - * \brief Set port pin input/sense configuration - * - * Enable/disable digital input buffer and pin change interrupt, - * select pin interrupt edge/level sensing mode - * - * \param[in] pin pin number within port - * \param[in] isc PORT_ISC_INTDISABLE_gc = Interrupt disabled but input buffer enabled - * PORT_ISC_BOTHEDGES_gc = Sense Both Edges - * PORT_ISC_RISING_gc = Sense Rising Edge - * PORT_ISC_FALLING_gc = Sense Falling Edge - * PORT_ISC_INPUT_DISABLE_gc = Digital Input Buffer disabled - * PORT_ISC_LEVEL_gc = Sense low Level - * + * @ingroup pinsdriver + * @brief Set port pin input/sense configuration, Enable/disable digital input buffer and pin change interrupt, + * select pin interrupt edge/level sensing mode + * @param The pin number within port + * @param isc PORT_ISC_t + * @return none */ static inline void PORTD_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) { @@ -752,17 +739,14 @@ static inline void PORTD_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) } /** - * \brief Set port data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] mask Bit mask where 1 means apply direction setting to the + * @param mask Bit mask where 1 means apply direction setting to the * corresponding pin - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param dir port_dir + * @return none */ static inline void PORTD_set_port_dir(const uint8_t mask, const enum port_dir dir) { @@ -790,16 +774,13 @@ static inline void PORTD_set_port_dir(const uint8_t mask, const enum port_dir di } /** - * \brief Set port pin data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port pin data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] pin The pin number within port - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param pin The pin number within port + * @param dir port_dir + * @return none */ static inline void PORTD_set_pin_dir(const uint8_t pin, const enum port_dir dir) { @@ -819,14 +800,14 @@ static inline void PORTD_set_pin_dir(const uint8_t pin, const enum port_dir dir) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on the pins defined by the bit mask. * - * Sets output level on the pins defined by the bit mask - * - * \param[in] mask Bit mask where 1 means apply port level to the corresponding + * @param mask Bit mask where 1 means apply port level to the corresponding * pin - * \param[in] level true = Pin levels set to "high" state + * @param level -boolean value that defines the logic state of the pin level * false = Pin levels set to "low" state + * @return none */ static inline void PORTD_set_port_level(const uint8_t mask, const bool level) { @@ -838,13 +819,12 @@ static inline void PORTD_set_port_level(const uint8_t mask, const bool level) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on a pin. * - * Sets output level on a pin - * - * \param[in] pin The pin number within port - * \param[in] level true = Pin level set to "high" state - * false = Pin level set to "low" state + * @param pin The pin number within port + * @param level -boolean value that defines the logic state of the pin level + * @return none */ static inline void PORTD_set_pin_level(const uint8_t pin, const bool level) { @@ -856,12 +836,12 @@ static inline void PORTD_set_pin_level(const uint8_t pin, const bool level) } /** - * \brief Toggle out level on pins + * @ingroup pinsdriver + * @brief Toggle out level on pins, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] mask Bit mask where 1 means toggle pin level to the corresponding + * @param mask Bit mask where 1 means toggle pin level to the corresponding * pin + * @return none */ static inline void PORTD_toggle_port_level(const uint8_t mask) { @@ -869,11 +849,11 @@ static inline void PORTD_toggle_port_level(const uint8_t mask) } /** - * \brief Toggle output level on pin + * @ingroup pinsdriver + * @brief Toggle output level on pin, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] pin The pin number within port + * @param pin The pin number within port + * @return none */ static inline void PORTD_toggle_pin_level(const uint8_t pin) { @@ -881,10 +861,11 @@ static inline void PORTD_toggle_pin_level(const uint8_t pin) } /** - * \brief Get input level on pins - * - * Read the input level on pins connected to a port + * @ingroup pinsdriver + * @brief Get input level on pins, Read the input level on pins connected to a port. * + * @param none + * @return none */ static inline uint8_t PORTD_get_port_level() { @@ -892,9 +873,11 @@ static inline uint8_t PORTD_get_port_level() } /** - * \brief Get level on pin + * @ingroup pinsdriver + * @brief Get level on pin, Reads the level on pins connected to a port. * - * Reads the level on pins connected to a port + * @param pin The pin number within port + * @return none */ static inline bool PORTD_get_pin_level(const uint8_t pin) { @@ -902,23 +885,23 @@ static inline bool PORTD_get_pin_level(const uint8_t pin) } /** - * \brief Write value to Port + * @ingroup pinsdriver + * @brief Write value to Port, Write directly to the port OUT register. * - * Write directly to the port OUT register - * - * \param[in] value Value to write to the port register + * @param value Value to write to the port register + * @return none */ static inline void PORTD_write_port(const uint8_t value) { VPORTD.OUT = value; } + /** - * \brief Set port pin pull mode - * - * Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used - * - * \param[in] pin The pin number within port - * \param[in] pull_mode Pin pull mode + * @ingroup pinsdriver + * @brief Set port pin pull mode, Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used. + * @param pin The pin number within port + * @param pull_mode Pin pull mode + * @return none */ static inline void PORTE_set_pin_pull_mode(const uint8_t pin, const enum port_pull_mode pull_mode) { @@ -932,12 +915,11 @@ static inline void PORTE_set_pin_pull_mode(const uint8_t pin, const enum port_pu } /** - * \brief Set port pin inverted mode - * - * Configure pin invert I/O or not - * - * \param[in] pin The pin number within port - * \param[in] inverted Pin inverted mode + * @ingroup pinsdriver + * @brief Set port pin inverted mode, Configure pin invert I/O or not. + * @param pin The pin number within port + * @param inverted Pin inverted mode + * @return none */ static inline void PORTE_pin_set_inverted(const uint8_t pin, const bool inverted) { @@ -951,19 +933,12 @@ static inline void PORTE_pin_set_inverted(const uint8_t pin, const bool inverted } /** - * \brief Set port pin input/sense configuration - * - * Enable/disable digital input buffer and pin change interrupt, - * select pin interrupt edge/level sensing mode - * - * \param[in] pin pin number within port - * \param[in] isc PORT_ISC_INTDISABLE_gc = Interrupt disabled but input buffer enabled - * PORT_ISC_BOTHEDGES_gc = Sense Both Edges - * PORT_ISC_RISING_gc = Sense Rising Edge - * PORT_ISC_FALLING_gc = Sense Falling Edge - * PORT_ISC_INPUT_DISABLE_gc = Digital Input Buffer disabled - * PORT_ISC_LEVEL_gc = Sense low Level - * + * @ingroup pinsdriver + * @brief Set port pin input/sense configuration, Enable/disable digital input buffer and pin change interrupt, + * select pin interrupt edge/level sensing mode + * @param The pin number within port + * @param isc PORT_ISC_t + * @return none */ static inline void PORTE_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) { @@ -973,17 +948,14 @@ static inline void PORTE_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) } /** - * \brief Set port data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] mask Bit mask where 1 means apply direction setting to the + * @param mask Bit mask where 1 means apply direction setting to the * corresponding pin - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param dir port_dir + * @return none */ static inline void PORTE_set_port_dir(const uint8_t mask, const enum port_dir dir) { @@ -1011,16 +983,13 @@ static inline void PORTE_set_port_dir(const uint8_t mask, const enum port_dir di } /** - * \brief Set port pin data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port pin data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] pin The pin number within port - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param pin The pin number within port + * @param dir port_dir + * @return none */ static inline void PORTE_set_pin_dir(const uint8_t pin, const enum port_dir dir) { @@ -1040,14 +1009,14 @@ static inline void PORTE_set_pin_dir(const uint8_t pin, const enum port_dir dir) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on the pins defined by the bit mask. * - * Sets output level on the pins defined by the bit mask - * - * \param[in] mask Bit mask where 1 means apply port level to the corresponding + * @param mask Bit mask where 1 means apply port level to the corresponding * pin - * \param[in] level true = Pin levels set to "high" state + * @param level -boolean value that defines the logic state of the pin level * false = Pin levels set to "low" state + * @return none */ static inline void PORTE_set_port_level(const uint8_t mask, const bool level) { @@ -1059,13 +1028,12 @@ static inline void PORTE_set_port_level(const uint8_t mask, const bool level) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on a pin. * - * Sets output level on a pin - * - * \param[in] pin The pin number within port - * \param[in] level true = Pin level set to "high" state - * false = Pin level set to "low" state + * @param pin The pin number within port + * @param level -boolean value that defines the logic state of the pin level + * @return none */ static inline void PORTE_set_pin_level(const uint8_t pin, const bool level) { @@ -1077,12 +1045,12 @@ static inline void PORTE_set_pin_level(const uint8_t pin, const bool level) } /** - * \brief Toggle out level on pins + * @ingroup pinsdriver + * @brief Toggle out level on pins, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] mask Bit mask where 1 means toggle pin level to the corresponding + * @param mask Bit mask where 1 means toggle pin level to the corresponding * pin + * @return none */ static inline void PORTE_toggle_port_level(const uint8_t mask) { @@ -1090,11 +1058,11 @@ static inline void PORTE_toggle_port_level(const uint8_t mask) } /** - * \brief Toggle output level on pin + * @ingroup pinsdriver + * @brief Toggle output level on pin, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] pin The pin number within port + * @param pin The pin number within port + * @return none */ static inline void PORTE_toggle_pin_level(const uint8_t pin) { @@ -1102,10 +1070,11 @@ static inline void PORTE_toggle_pin_level(const uint8_t pin) } /** - * \brief Get input level on pins - * - * Read the input level on pins connected to a port + * @ingroup pinsdriver + * @brief Get input level on pins, Read the input level on pins connected to a port. * + * @param none + * @return none */ static inline uint8_t PORTE_get_port_level() { @@ -1113,9 +1082,11 @@ static inline uint8_t PORTE_get_port_level() } /** - * \brief Get level on pin + * @ingroup pinsdriver + * @brief Get level on pin, Reads the level on pins connected to a port. * - * Reads the level on pins connected to a port + * @param pin The pin number within port + * @return none */ static inline bool PORTE_get_pin_level(const uint8_t pin) { @@ -1123,23 +1094,23 @@ static inline bool PORTE_get_pin_level(const uint8_t pin) } /** - * \brief Write value to Port + * @ingroup pinsdriver + * @brief Write value to Port, Write directly to the port OUT register. * - * Write directly to the port OUT register - * - * \param[in] value Value to write to the port register + * @param value Value to write to the port register + * @return none */ static inline void PORTE_write_port(const uint8_t value) { VPORTE.OUT = value; } + /** - * \brief Set port pin pull mode - * - * Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used - * - * \param[in] pin The pin number within port - * \param[in] pull_mode Pin pull mode + * @ingroup pinsdriver + * @brief Set port pin pull mode, Configure pin to pull up, down or disable pull mode, supported pull modes are defined by device used. + * @param pin The pin number within port + * @param pull_mode Pin pull mode + * @return none */ static inline void PORTF_set_pin_pull_mode(const uint8_t pin, const enum port_pull_mode pull_mode) { @@ -1153,12 +1124,11 @@ static inline void PORTF_set_pin_pull_mode(const uint8_t pin, const enum port_pu } /** - * \brief Set port pin inverted mode - * - * Configure pin invert I/O or not - * - * \param[in] pin The pin number within port - * \param[in] inverted Pin inverted mode + * @ingroup pinsdriver + * @brief Set port pin inverted mode, Configure pin invert I/O or not. + * @param pin The pin number within port + * @param inverted Pin inverted mode + * @return none */ static inline void PORTF_pin_set_inverted(const uint8_t pin, const bool inverted) { @@ -1172,19 +1142,12 @@ static inline void PORTF_pin_set_inverted(const uint8_t pin, const bool inverted } /** - * \brief Set port pin input/sense configuration - * - * Enable/disable digital input buffer and pin change interrupt, - * select pin interrupt edge/level sensing mode - * - * \param[in] pin pin number within port - * \param[in] isc PORT_ISC_INTDISABLE_gc = Interrupt disabled but input buffer enabled - * PORT_ISC_BOTHEDGES_gc = Sense Both Edges - * PORT_ISC_RISING_gc = Sense Rising Edge - * PORT_ISC_FALLING_gc = Sense Falling Edge - * PORT_ISC_INPUT_DISABLE_gc = Digital Input Buffer disabled - * PORT_ISC_LEVEL_gc = Sense low Level - * + * @ingroup pinsdriver + * @brief Set port pin input/sense configuration, Enable/disable digital input buffer and pin change interrupt, + * select pin interrupt edge/level sensing mode + * @param The pin number within port + * @param isc PORT_ISC_t + * @return none */ static inline void PORTF_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) { @@ -1194,17 +1157,14 @@ static inline void PORTF_pin_set_isc(const uint8_t pin, const PORT_ISC_t isc) } /** - * \brief Set port data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] mask Bit mask where 1 means apply direction setting to the + * @param mask Bit mask where 1 means apply direction setting to the * corresponding pin - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param dir port_dir + * @return none */ static inline void PORTF_set_port_dir(const uint8_t mask, const enum port_dir dir) { @@ -1232,16 +1192,13 @@ static inline void PORTF_set_port_dir(const uint8_t mask, const enum port_dir di } /** - * \brief Set port pin data direction - * - * Select if the pin data direction is input, output or disabled. + * @ingroup pinsdriver + * @brief Set port pin data direction, Select if the pin data direction is input, output or disabled. * If disabled state is not possible, this function throws an assert. * - * \param[in] pin The pin number within port - * \param[in] dir PORT_DIR_IN = Data direction in - * PORT_DIR_OUT = Data direction out - * PORT_DIR_OFF = Disables the pin - * (low power state) + * @param pin The pin number within port + * @param dir port_dir + * @return none */ static inline void PORTF_set_pin_dir(const uint8_t pin, const enum port_dir dir) { @@ -1261,14 +1218,14 @@ static inline void PORTF_set_pin_dir(const uint8_t pin, const enum port_dir dir) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on the pins defined by the bit mask. * - * Sets output level on the pins defined by the bit mask - * - * \param[in] mask Bit mask where 1 means apply port level to the corresponding + * @param mask Bit mask where 1 means apply port level to the corresponding * pin - * \param[in] level true = Pin levels set to "high" state + * @param level -boolean value that defines the logic state of the pin level * false = Pin levels set to "low" state + * @return none */ static inline void PORTF_set_port_level(const uint8_t mask, const bool level) { @@ -1280,13 +1237,12 @@ static inline void PORTF_set_port_level(const uint8_t mask, const bool level) } /** - * \brief Set port level + * @ingroup pinsdriver + * @brief Set port level, Sets output level on a pin. * - * Sets output level on a pin - * - * \param[in] pin The pin number within port - * \param[in] level true = Pin level set to "high" state - * false = Pin level set to "low" state + * @param pin The pin number within port + * @param level -boolean value that defines the logic state of the pin level + * @return none */ static inline void PORTF_set_pin_level(const uint8_t pin, const bool level) { @@ -1298,12 +1254,12 @@ static inline void PORTF_set_pin_level(const uint8_t pin, const bool level) } /** - * \brief Toggle out level on pins + * @ingroup pinsdriver + * @brief Toggle out level on pins, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] mask Bit mask where 1 means toggle pin level to the corresponding + * @param mask Bit mask where 1 means toggle pin level to the corresponding * pin + * @return none */ static inline void PORTF_toggle_port_level(const uint8_t mask) { @@ -1311,11 +1267,11 @@ static inline void PORTF_toggle_port_level(const uint8_t mask) } /** - * \brief Toggle output level on pin + * @ingroup pinsdriver + * @brief Toggle output level on pin, Toggle the pin levels on pins defined by bit mask. * - * Toggle the pin levels on pins defined by bit mask - * - * \param[in] pin The pin number within port + * @param pin The pin number within port + * @return none */ static inline void PORTF_toggle_pin_level(const uint8_t pin) { @@ -1323,10 +1279,11 @@ static inline void PORTF_toggle_pin_level(const uint8_t pin) } /** - * \brief Get input level on pins - * - * Read the input level on pins connected to a port + * @ingroup pinsdriver + * @brief Get input level on pins, Read the input level on pins connected to a port. * + * @param none + * @return none */ static inline uint8_t PORTF_get_port_level() { @@ -1334,9 +1291,11 @@ static inline uint8_t PORTF_get_port_level() } /** - * \brief Get level on pin + * @ingroup pinsdriver + * @brief Get level on pin, Reads the level on pins connected to a port. * - * Reads the level on pins connected to a port + * @param pin The pin number within port + * @return none */ static inline bool PORTF_get_pin_level(const uint8_t pin) { @@ -1344,11 +1303,11 @@ static inline bool PORTF_get_pin_level(const uint8_t pin) } /** - * \brief Write value to Port + * @ingroup pinsdriver + * @brief Write value to Port, Write directly to the port OUT register. * - * Write directly to the port OUT register - * - * \param[in] value Value to write to the port register + * @param value Value to write to the port register + * @return none */ static inline void PORTF_write_port(const uint8_t value) { diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/protected_io.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/protected_io.h index e25189f..586576b 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/protected_io.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/protected_io.h @@ -1,56 +1,36 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 -*/ -/* -Copyright (c) [2012-2020] Microchip Technology Inc. - - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. -*/ - - -/** - * \defgroup doc_driver_system_protected_io Protected IO - * \ingroup doc_driver_system + * protected_io Header File + * + * @file protected_io.h + * + * @defgroup doc_driver_system_protected_io Protected IO * - * \section doc_driver_protected_io_rev Revision History - * - v0.0.0.1 Initial Commit + * @brief This file contains the generated prtected_io header file for the CONFIGURATION BITS. + * + * @version Driver Version 1.0.0 * *@{ - */ +*/ +/* +© [2023] Microchip Technology Inc. and its subsidiaries. + + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. +*/ #ifndef PROTECTED_IO_H #define PROTECTED_IO_H @@ -64,24 +44,21 @@ extern "C" { //@{ /** - * \def CONFIG_MEMORY_MODEL_TINY - * \brief Configuration symbol to enable 8 bit pointers. - * + * @def CONFIG_MEMORY_MODEL_TINY + * @brief Configuration symbol to enable 8 bit pointers. */ #define CONFIG_MEMORY_MODEL_TINY /** - * \def CONFIG_MEMORY_MODEL_SMALL - * \brief Configuration symbol to enable 16 bit pointers. - * \note If no memory model is defined, SMALL is default. - * + * @def CONFIG_MEMORY_MODEL_SMALL + * @brief Configuration symbol to enable 16 bit pointers. + * NOTE: If no memory model is defined, SMALL is default. */ #define CONFIG_MEMORY_MODEL_SMALL /** - * \def CONFIG_MEMORY_MODEL_LARGE - * \brief Configuration symbol to enable 24 bit pointers. - * + * @def CONFIG_MEMORY_MODEL_LARGE + * @brief Configuration symbol to enable 24 bit pointers. */ #define CONFIG_MEMORY_MODEL_LARGE @@ -89,15 +66,12 @@ extern "C" { #endif /** - * \brief Write to am 8-bit I/O register protected by CCP or a protection bit - * - * \param addr Address of the I/O register - * \param magic CCP magic value or Mask for protection bit - * \param value Value to be written - * - * \note Using IAR Embedded workbench, the choice of memory model has an impact - * on calling convention. The memory model is not visible to the - * preprocessor, so it must be defined in the Assembler preprocessor directives. + * @brief Writes to an 8-bit I/O register protected by CCP or a protection bit. + * @param addr Address of the I/O register. + * @param magic CCP magic value or Mask for protection bit. + * @param value Value to be written. + * NOTE: Using IAR Embedded workbench, the choice of memory model has an impact on calling convention. + * Memory model must be defined in the Assembler preprocessor directives to be visible to the preprocessor. */ extern void protected_write_io(void *addr, uint8_t magic, uint8_t value); diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/clock.c b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/clock.c index fb85960..ddf8c2c 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/clock.c +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/clock.c @@ -1,54 +1,40 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * CLKCTRL Generated Driver File + * + * @file clkctrl.c + * + * @ingroup clkctrl + * + * @brief This file contains the API implementation for the CLKCTRL driver. + * + * @version CLKCTRL Driver Version 1.0.1 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ -#include #include "../clock.h" void CLOCK_Initialize(void) -{ - // Set the CLKCTRL module to the options selected in the user interface. - +{ //CLKOUT disabled; CLKSEL Internal high-frequency oscillator; ccp_write_io((void*)&(CLKCTRL.MCLKCTRLA),0x0); @@ -61,7 +47,7 @@ void CLOCK_Initialize(void) //EXTS disabled; OSCHFS disabled; OSC32KS disabled; PLLS disabled; SOSC disabled; XOSC32KS disabled; ccp_write_io((void*)&(CLKCTRL.MCLKSTATUS),0x0); - //AUTOTUNE disabled; FREQSEL 4 MHz system clock (default); RUNSTDBY disabled; + //AUTOTUNE disabled; FRQSEL 4 MHz system clock (default); RUNSTDBY disabled; ccp_write_io((void*)&(CLKCTRL.OSCHFCTRLA),0xC); //TUNE 0x0; diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/config_bits.c b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/config_bits.c index 0ae6df3..2ca21ba 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/config_bits.c +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/config_bits.c @@ -1,53 +1,40 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * CONFIGURATION BITS Generated Driver Source File + * + * @file config_bits.c + * + * @ingroup config_bitsdriver + * + * @brief This file contains the generated Device Configuration Bits file. + * + * @version Driver Version 1.0.4 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ - #include /** - * Configures Fuse bits + * Configures the Fuse bits. */ - FUSES = { .BODCFG = ACTIVE_DISABLE_gc | LVL_BODLEVEL0_gc | SAMPFREQ_128Hz_gc | SLEEP_DISABLE_gc, diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/interrupt.c b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/interrupt.c index 1ffec10..44577f9 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/interrupt.c +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/interrupt.c @@ -1,52 +1,39 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * Interrupt Manager Generated Driver File. + * + * @file interrupt.c + * + * @ingroup interrupt + * + * @brief This file contains the API implementation for the Interrupt Manager. + * + * @version Interrupt Manager Driver Version 1.0.0 */ + /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ #include "../interrupt.h" -/** - * \brief Initialize cpuint interface - */ int8_t CPUINT_Initialize() { /* IVSEL and CVT are Configuration Change Protected */ diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/pins.c b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/pins.c index 7307cca..242c9cd 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/pins.c +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/pins.c @@ -1,48 +1,43 @@ /** - Generated Pin Manager File - - Company: - Microchip Technology Inc. - - File Name: - pins.c - - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * Generated Driver File + * + * @file pins.c + * + * @ingroup pinsdriver + * + * @brief This is generated driver implementation for pins. + * This file provides implementations for pin APIs for all pins selected in the GUI. + * + * @version Driver Version 1.1.0 */ /* - (c) 2018 Microchip Technology Inc. and its subsidiaries. - - Subject to your compliance with these terms, you may use Microchip software and any - derivatives exclusively with Microchip products. It is your responsibility to comply with third party - license terms applicable to your use of third party software (including open source software) that - may accompany Microchip software. - - THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER - EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY - IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS - FOR A PARTICULAR PURPOSE. - - IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, - INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND - WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP - HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO - THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL - CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED THE AMOUNT - OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS - SOFTWARE. +© [2023] Microchip Technology Inc. and its subsidiaries. + + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ #include "../pins.h" -static void (*PC6_InterruptHandler)(void); -void PORT_Initialize(void); +static void (*IO_PC6_InterruptHandler)(void); void PIN_MANAGER_Initialize() { - PORT_Initialize(); /* DIR Registers Initialization */ PORTA.DIR = 0x0; PORTB.DIR = 0x0; @@ -109,31 +104,7 @@ void PIN_MANAGER_Initialize() PORTF.PIN6CTRL = 0x0; PORTF.PIN7CTRL = 0x0; - /* Multi-pin Config registers Initialization */ - PORTA.PINCONFIG = 0x00; - PORTA.PINCTRLCLR = 0x00; - PORTA.PINCTRLSET = 0x00; - PORTA.PINCTRLUPD = 0x00; - PORTB.PINCONFIG = 0x00; - PORTB.PINCTRLCLR = 0x00; - PORTB.PINCTRLSET = 0x00; - PORTB.PINCTRLUPD = 0x00; - PORTC.PINCONFIG = 0x00; - PORTC.PINCTRLCLR = 0x00; - PORTC.PINCTRLSET = 0x00; - PORTC.PINCTRLUPD = 0x00; - PORTD.PINCONFIG = 0x00; - PORTD.PINCTRLCLR = 0x00; - PORTD.PINCTRLSET = 0x00; - PORTD.PINCTRLUPD = 0x00; - PORTE.PINCONFIG = 0x00; - PORTE.PINCTRLCLR = 0x00; - PORTE.PINCTRLSET = 0x00; - PORTE.PINCTRLUPD = 0x00; - PORTF.PINCONFIG = 0x00; - PORTF.PINCTRLCLR = 0x00; - PORTF.PINCTRLSET = 0x00; - PORTF.PINCTRLUPD = 0x00; + /* EVGENCTRL registers Initialization */ /* PORTMUX Initialization */ PORTMUX.ACROUTEA = 0x0; @@ -149,102 +120,59 @@ void PIN_MANAGER_Initialize() PORTMUX.ZCDROUTEA = 0x0; // register default ISC callback functions at runtime; use these methods to register a custom function - PC6_SetInterruptHandler(PC6_DefaultInterruptHandler); + IO_PC6_SetInterruptHandler(IO_PC6_DefaultInterruptHandler); } -void PORT_Initialize(void) -{ - /* On AVR devices all peripherals are enable from power on reset, this - * disables all peripherals to save power. Driver shall enable - * peripheral if used */ - - /* Set all pins to low power mode */ - for (uint8_t i = 0; i < 8; i++) { - *((uint8_t *)&PORTA + 0x10 + i) |= 1 << PORT_PULLUPEN_bp; - } - - for (uint8_t i = 0; i < 8; i++) { - *((uint8_t *)&PORTB + 0x10 + i) |= 1 << PORT_PULLUPEN_bp; - } - - for (uint8_t i = 0; i < 8; i++) { - *((uint8_t *)&PORTC + 0x10 + i) |= 1 << PORT_PULLUPEN_bp; - } - - for (uint8_t i = 0; i < 8; i++) { - *((uint8_t *)&PORTD + 0x10 + i) |= 1 << PORT_PULLUPEN_bp; - } - - for (uint8_t i = 0; i < 8; i++) { - *((uint8_t *)&PORTE + 0x10 + i) |= 1 << PORT_PULLUPEN_bp; - } - - for (uint8_t i = 0; i < 8; i++) { - *((uint8_t *)&PORTF + 0x10 + i) |= 1 << PORT_PULLUPEN_bp; - } - -} /** - Allows selecting an interrupt handler for PC6 at application runtime + Allows selecting an interrupt handler for IO_PC6 at application runtime */ -void PC6_SetInterruptHandler(void (* interruptHandler)(void)) +void IO_PC6_SetInterruptHandler(void (* interruptHandler)(void)) { - PC6_InterruptHandler = interruptHandler; + IO_PC6_InterruptHandler = interruptHandler; } -void PC6_DefaultInterruptHandler(void) +void IO_PC6_DefaultInterruptHandler(void) { - // add your PC6 interrupt custom code - // or set custom function using PC6_SetInterruptHandler() + // add your IO_PC6 interrupt custom code + // or set custom function using IO_PC6_SetInterruptHandler() } ISR(PORTA_PORT_vect) -{ - // Call the interrupt handler for the callback registered at runtime - +{ /* Clear interrupt flags */ VPORTA.INTFLAGS = 0xff; } ISR(PORTB_PORT_vect) -{ - // Call the interrupt handler for the callback registered at runtime - +{ /* Clear interrupt flags */ VPORTB.INTFLAGS = 0xff; } ISR(PORTC_PORT_vect) -{ +{ // Call the interrupt handler for the callback registered at runtime if(VPORTC.INTFLAGS & PORT_INT6_bm) { - PC6_InterruptHandler(); + IO_PC6_InterruptHandler(); } - /* Clear interrupt flags */ VPORTC.INTFLAGS = 0xff; } ISR(PORTD_PORT_vect) -{ - // Call the interrupt handler for the callback registered at runtime - +{ /* Clear interrupt flags */ VPORTD.INTFLAGS = 0xff; } ISR(PORTE_PORT_vect) -{ - // Call the interrupt handler for the callback registered at runtime - +{ /* Clear interrupt flags */ VPORTE.INTFLAGS = 0xff; } ISR(PORTF_PORT_vect) -{ - // Call the interrupt handler for the callback registered at runtime - +{ /* Clear interrupt flags */ VPORTF.INTFLAGS = 0xff; } diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/protected_io.S b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/protected_io.S index 85cd39e..fa51ec8 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/protected_io.S +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/protected_io.S @@ -1,44 +1,33 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * protected_io Source Code File + * + * @file protected_io.S + * + * @ingroup config_bitsdriver + * + * @brief This file contains the generated protected_io source code file for the CONFIGURATION BITS. + * + * @version Driver Version 1.0.0 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/system.c b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/system.c index 52322a7..ca04936 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/system.c +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/src/system.c @@ -1,53 +1,37 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * System Driver Source File + * + * @file system.c + * + * @ingroup systemdriver + * + * @brief This file contains the API implementation for the System driver. + * + * @version Driver Version 1.0.1 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ - #include "../system.h" -/** - * Initializes MCU, drivers and middleware in the project -**/ - void SYSTEM_Initialize(void) { diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/system.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/system.h index 3655d92..b83d480 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/system.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/system.h @@ -1,44 +1,33 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * System Driver Header File + * + * @file system.h + * + * @defgroup systemdriver System Driver + * + * @brief This file contains the API prototypes for the System driver. + * + * @version Driver Version 1.0.1 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ @@ -50,17 +39,23 @@ extern "C" { #endif #include "../system/utils/compiler.h" -#include "../system/clock.h" +#include "config_bits.h" #include "../system/clock.h" #include "../system/pins.h" #include "../timer/tca1.h" #include "../system/interrupt.h" /** - * Initializes MCU, drivers and middleware in the project -**/ + * @ingroup systemdriver + * @brief Initializes the system module. This routine must be called only once during the system initialization and before any other routine is called. + * @param None. + * @return None. +*/ void SYSTEM_Initialize(void); #ifdef __cplusplus } #endif -#endif /* MCC_H */ \ No newline at end of file +#endif /* MCC_H */ +/** + End of File +*/ \ No newline at end of file diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler.h index cdaf5a7..2ce5066 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler.h @@ -1,44 +1,33 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * Assembler Header File + * + * @file assembler.h + * + * @ingroup config_bitsdriver + * + * @brief This file contains the assembler header file for the configuration bits driver. + * + * @version Driver Version 1.0.0 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler/gas.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler/gas.h index 36b6b1e..fc78ad7 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler/gas.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler/gas.h @@ -1,44 +1,33 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * GAS Header File + * + * @file gas.h + * + * @ingroup config_bitsdriver + * + * @brief This file contains the generated GAS header file for the Configuration bits driver. + * + * @version Driver Version 1.0.0 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler/iar.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler/iar.h index 3c52e73..d4ba634 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler/iar.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/assembler/iar.h @@ -1,44 +1,33 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * IAR Header File + * + * @file iar.h + * + * @ingroup config_bitsdriver + * + * @brief This file contains the generated IAR header file for the Configuration bits driver. + * + * @version Driver Version 1.0.0 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/atomic.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/atomic.h index 06f8700..c298b95 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/atomic.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/atomic.h @@ -1,79 +1,49 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * CONFIGURATION BITS Generated Atomic Header File + * + * @file atomic.h + * + * @defgroup doc_driver_utils_atomic Atomic memory access and critical sections + * + * @brief This file contains the atomic memory access and critical sections header file for the configuration bits driver. + * + * @version Driver Version 1.0.0 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ #ifndef ATOMIC_H #define ATOMIC_H -/** - * \defgroup doc_driver_utils_atomic Atomic memory access and critical sections - * \ingroup doc_driver_utils - * - * Atomic memory access and critical sections - * - * \{ - */ - /* clang-format off */ #if defined(__GNUC__) || defined (__DOXYGEN__) /** - * \brief Enter a critical region - * - * Saves the contents of the status register, including the Global - * Interrupt Enable bit, so that it can be restored upon leaving the - * critical region. Thereafter, clears the Global Interrupt Enable Bit. - * This macro takes a parameter P that is unused for the GCC compiler, - * but necessary for code compatibility with the IAR compiler. The IAR - * compiler declares a variable with the name of the parameter for - * holding the SREG value. Since a variable is declared in the macro, - * this variable must have a name that is unique within the scope - * that the critical region is declared within, otherwise compilation - * will fail. - * - * \param[in] UNUSED(GCC)/P(IAR) Name of variable storing SREG - * + * @brief Enters critical region. Saves the contents of the status register, including the Global Interrupt Enable bit, so that it can be restored upon leaving the critical region. + * Thereafter, clears the Global Interrupt Enable Bit.This macro takes a parameter P that is unused for the GCC compiler,but necessary for code compatibility with the IAR compiler. + * The IAR compiler declares a variable with the name of the parameter forholding the SREG value. + * Compilation will fail when the variable declared in the macro is not unique within the scope that the critical region is declared within. + * @param[in] UNUSED(GCC)/P(IAR) Name of variable storing SREG. */ #define ENTER_CRITICAL(UNUSED) __asm__ __volatile__ ( \ @@ -84,18 +54,11 @@ Copyright (c) [2012-2020] Microchip Technology Inc. ) /** - * \brief Exit a critical region - * - * Restores the contents of the status register, including the Global - * Interrupt Enable bit, as it was when entering the critical region. - * This macro takes a parameter P that is unused for the GCC compiler, - * but necessary for code compatibility with the IAR compiler. The IAR - * compiler uses this parameter as the name of a variable that holds - * the SREG value. The parameter must be identical to the parameter - * used in the corresponding ENTER_CRITICAL(). - * - * \param[in] UNUSED(GCC)/P(IAR) Name of variable storing SREG - * + * @brief Exits a critical region. Restores the contents of the status register, including the Global Interrupt Enable bit, as it was when entering the critical region. + * This macro takes a parameter P that is unused for the GCC compiler, but necessary for code compatibility with the IAR compiler. + * The IAR compiler uses this parameter as the name of a variable that holds the SREG value. + * The parameter must be identical to the parameter used in the corresponding ENTER_CRITICAL(). + * @param[in] UNUSED(GCC)/P(IAR) Name of variable storing SREG */ #define EXIT_CRITICAL(UNUSED) __asm__ __volatile__ ( \ diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/compiler.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/compiler.h index 497ac44..fba02a0 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/compiler.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/compiler.h @@ -1,64 +1,45 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * Compiler Header File + * + * @file compiler.h + * + * @defgroup doc_driver_utils_compiler Compiler abstraction + * + * @brief This file contains the compiler abstraction layer and code utilities for 8-bit AVR. This module provides various abstraction layers and utilities to make code compatible between different compilers. + * + * @version Driver Version 1.0.0 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ #ifndef UTILS_COMPILER_H #define UTILS_COMPILER_H -/** - * \defgroup doc_driver_utils_compiler Compiler abstraction - * \ingroup doc_driver_utils - * - * Compiler abstraction layer and code utilities for 8-bit AVR. - * This module provides various abstraction layers and utilities - * to make code compatible between different compilers. - * - * \{ - */ - #if defined(__GNUC__) #include #include +#if defined(__XC8__) +#include +#endif #elif defined(__ICCAVR__) #define ENABLE_BIT_DEFINITIONS 1 #include @@ -83,8 +64,8 @@ Copyright (c) [2012-2020] Microchip Technology Inc. #include "interrupt_avr8.h" /** - * \def UNUSED - * \brief Marking \a v as a unused parameter or value. + * @def UNUSED + * @brief Marking \a v as a unused parameter or value. */ #define UNUSED(v) (void)(v) diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/interrupt_avr8.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/interrupt_avr8.h index 9089804..83b3c62 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/interrupt_avr8.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/interrupt_avr8.h @@ -1,56 +1,35 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * interrupt_avr8 Header File + * + * @file interrupt_avr8.h + * + * @defgroup doc_driver_utils_interrupts ISR abstraction + * + * @brief Interrupt-related functionality. + * + * @version Driver Version 1.0.0 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ - -/** - * \defgroup doc_driver_utils_interrupts ISR abstraction - * \ingroup doc_driver_utils - * - * Interrupt-related functionality. - * - * \{ - */ - #ifndef UTILS_INTERRUPT_AVR8_H #define UTILS_INTERRUPT_AVR8_H @@ -65,18 +44,16 @@ Copyright (c) [2012-2020] Microchip Technology Inc. #else /** - * \def ISR - * \brief Define service routine for specified interrupt vector - * - * Usage: - * \code + * @def ISR + * @brief Define service routine for specified interrupt vector. + * @code ISR(FOO_vect) { ... } -\endcode + * @endcode * - * \param vect Interrupt vector name as found in the device header files. + * @param vect Interrupt vector name as found in the device header files. */ #if defined(__DOXYGEN__) #define ISR(vect) diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/utils.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/utils.h index 70be6ad..eaf3b81 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/utils.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/utils.h @@ -1,57 +1,37 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * utils Header File + * + * @file system.h + * + * @defgroup doc_driver_utils AVR Code utility functions + * + * @brief This file contains the compiler abstraction layer and code utilities for AVR.This module provides various abstraction layers and utilities to make code compatible between different compilers. + * + * @version Driver Version 1.0.1 + * \{ + * */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ - -/** - * \defgroup doc_driver_utils AVR Code utility functions - * - * Compiler abstraction layer and code utilities for AVR. - * This module provides various abstraction layers and utilities - * to make code compatible between different compilers. - * - * \{ - */ - #ifndef UTILS_H_INCLUDED #define UTILS_H_INCLUDED @@ -60,7 +40,7 @@ extern "C" { #endif /** - * \brief Retrieve array size + * @brief Retrieve array size */ #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/utils_assert.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/utils_assert.h index c074377..a278db5 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/utils_assert.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/system/utils/utils_assert.h @@ -1,54 +1,35 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 1.0.0 + * utils_assert Header File + * + * @file utils_assert.h + * + * @defgroup doc_driver_utils_assert Functionality for assert + * + * @brief This file contains the generated utils_assert header file for the configuration bits driver. + * + * @version Driver Version 1.0.1 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ - -/** - * \defgroup doc_driver_utils_assert Functionality for assert. - * \ingroup doc_driver_utils - * - * \{ - */ - #ifndef _ASSERT_H_INCLUDED #define _ASSERT_H_INCLUDED @@ -59,13 +40,9 @@ extern "C" { #include /** - * \brief Assert macro - * - * This macro is used to throw asserts. It can be mapped to different function - * based on debug level. - * - * \param[in] condition A condition to be checked; - * assert is thrown if the given condition is false + * @brief Assert macro + * Macro used to throw asserts. It can be mapped to different function based on debug level. + * @param[in] condition A condition to be checked; assert is thrown if the given condition is false. */ #ifdef DEBUG diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/src/tca1.c b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/src/tca1.c index 6248708..fd57965 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/src/tca1.c +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/src/tca1.c @@ -1,44 +1,33 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 2.0.0 + * TCA1 Generated Driver File + * + * @file tca1.c + * + * @ingroup tca1_normal + * + * @brief This file contains the API implementations for TCA1 module driver in Normal (16-bit) mode. + * + * @version TCA1 Driver Version 2.1.1 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ @@ -46,8 +35,8 @@ Copyright (c) [2012-2020] Microchip Technology Inc. const struct TMR_INTERFACE TCA1_Interface = { .Initialize = TCA1_Initialize, - .Start = NULL, - .Stop = NULL, + .Start = TCA1_Start, + .Stop = TCA1_Stop, .PeriodCountSet = TCA1_Write, .TimeoutCallbackRegister = TCA1_OverflowCallbackRegister, .Tasks = NULL @@ -135,18 +124,15 @@ ISR(TCA1_OVF_vect) } -/** - * \brief Initialize TCA interface - */ void TCA1_Initialize(void) { // Compare 0 - TCA1.SINGLE.CMP0 = 0xFFDB; + TCA1.SINGLE.CMP0 = 0x0; // Compare 1 - TCA1.SINGLE.CMP1 = 0xFFDB; + TCA1.SINGLE.CMP1 = 0x0; // Compare 2 - TCA1.SINGLE.CMP2 = 0x7FED; + TCA1.SINGLE.CMP2 = 0x7FEE; // Count TCA1.SINGLE.CNT = 0x0; @@ -207,7 +193,7 @@ void TCA1_Stop(void) void TCA1_Write(uint16_t timerVal) { - TCA1.SINGLE.CNT=timerVal; + TCA1.SINGLE.PER=timerVal; } uint16_t TCA1_Read(void) @@ -235,39 +221,39 @@ void TCA1_DisableInterrupt(void) } void TCA1_ClearOverflowInterruptFlag(void) { - TCA1.SINGLE.INTFLAGS &= ~TCA_SINGLE_OVF_bm; /* Overflow Interrupt: disabled */ + TCA1.SINGLE.INTFLAGS = TCA_SINGLE_OVF_bm; /* Clear Overflow Interrupt Flag */ } -bool TCA1_IsOverflowInterruptEnabled(void) +bool TCA1_IsOverflowInterruptFlagSet(void) { return ((TCA1.SINGLE.INTFLAGS & TCA_SINGLE_OVF_bm) > 0); } void TCA1_ClearCMP0InterruptFlag(void) { - TCA1.SINGLE.INTFLAGS &= ~TCA_SINGLE_CMP0_bm; /* Compare Channel-0 Interrupt: disabled */ + TCA1.SINGLE.INTFLAGS = TCA_SINGLE_CMP0_bm; /* Clear Compare Channel-0 Interrupt Flag */ } -bool TCA1_IsCMP0InterruptEnabled(void) +bool TCA1_IsCMP0InterruptFlagSet(void) { return ((TCA1.SINGLE.INTFLAGS & TCA_SINGLE_CMP0_bm) > 0); } void TCA1_ClearCMP1InterruptFlag(void) { - TCA1.SINGLE.INTFLAGS &= ~TCA_SINGLE_CMP1_bm; /* Compare Channel-1 Interrupt: disabled */ + TCA1.SINGLE.INTFLAGS = TCA_SINGLE_CMP1_bm; /* Clear Compare Channel-1 Interrupt Flag */ } -bool TCA1_IsCMP1InterruptEnabled(void) +bool TCA1_IsCMP1InterruptFlagSet(void) { return ((TCA1.SINGLE.INTFLAGS & TCA_SINGLE_CMP1_bm) > 0); } void TCA1_ClearCMP2InterruptFlag(void) { - TCA1.SINGLE.INTFLAGS &= ~TCA_SINGLE_CMP2_bm; /* Compare Channel-2 Interrupt: disabled */ + TCA1.SINGLE.INTFLAGS = TCA_SINGLE_CMP2_bm; /* Clear Compare Channel-2 Interrupt Flag */ } -bool TCA1_IsCMP2InterruptEnabled(void) +bool TCA1_IsCMP2InterruptFlagSet(void) { return ((TCA1.SINGLE.INTFLAGS & TCA_SINGLE_CMP2_bm) > 0); } \ No newline at end of file diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/tca1.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/tca1.h index dd59bf8..72f8dc8 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/tca1.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/tca1.h @@ -1,44 +1,33 @@ /** - @Company - Microchip Technology Inc. - - @Description - This Source file provides APIs. - Generation Information : - Driver Version : 2.0.0 + * TCA1 Generated Driver API Header File + * + * @file tca1.h + * + * @defgroup tca1_normal TCA1 in Normal Mode + * + * @brief This file contains the API prototypes for the TCA1 driver in Normal (16-bit) mode. + * + * @version TCA1 Driver Version 2.1.1 */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ @@ -56,34 +45,152 @@ extern "C" { #endif /** - * \brief Initialize tca interface - * - * \return Initialization status. - */ - -typedef void (*TCA1_cb_t)(void); + * @ingroup tca1_normal + * @typedef void TCA1_cb_t + * @brief Function pointer to the callback function called by TCA when operating in Normal mode. The default value is set to NULL which means that no callback function will be used. + */ +typedef void (*TCA1_cb_t)(void); extern const struct TMR_INTERFACE TCA1_Interface; +/** + * @ingroup tca1_normal + * @brief Initializes the TCA. + * @param None. + * @return None. + */ void TCA1_Initialize(void); +/** + * @ingroup tca1_normal + * @brief Starts the 16-bit timer/counter for the TCA. + * @param None. + * @return None. + */ void TCA1_Start(void); +/** + * @ingroup tca1_normal + * @brief Stops the 16-bit timer/counter for the TCA. + * @param None. + * @return None. + */ void TCA1_Stop(void); +/** + * @ingroup tca1_normal + * @brief Interrupt Service Routine (ISR) callback function register to be called if the Overflow Interrupt flag is set. + * @param TCA1_cb_t cb - Callback function for Overflow event. + * @return None. + */ void TCA1_OverflowCallbackRegister(TCA1_cb_t cb); +/** + * @ingroup tca1_normal + * @brief ISR callback function to be called if the Compare 0 Match Interrupt flag is set. + * @param TCA1_cb_t cb - Callback function for Compare 0 match event. + * @return None. + */ void TCA1_Compare0CallbackRegister(TCA1_cb_t cb); +/** + * @ingroup tca1_normal + * @brief ISR callback function to be called if the Compare 1 Match Interrupt flag is set. + * @param TCA1_cb_t cb - Callback function for Compare 1 match event. + * @return None. + */ void TCA1_Compare1CallbackRegister(TCA1_cb_t cb); +/** + * @ingroup tca1_normal + * @brief ISR callback function to be called if the Compare 2 Match Interrupt flag is set. + * @param TCA1_cb_t cb - Callback function for Compare 2 match event. + * @return None. + */ void TCA1_Compare2CallbackRegister(TCA1_cb_t cb); +/** + * @ingroup tca1_normal + * @brief Enables the 16-bit timer/counter interrupt for the TCA. + * @param None. + * @return None. + */ void TCA1_EnableInterrupt(void); +/** + * @ingroup tca1_normal + * @brief Disables the 16-bit timer/counter interrupt for the TCA. + * @param None. + * @return None. + */ void TCA1_DisableInterrupt(void); +/** + * @ingroup tca1_normal + * @brief Reads the 16-bit timer/counter value for the TCA. + * @param None. + * @return uint16_t - timer/counter value returns from the TCA1. + */ uint16_t TCA1_Read(void); +/** + * @ingroup tca1_normal + * @brief Writes the timer value to load to the TCA. + * @param uint16_t timerVal - Loading the timer value for the TCA. + * @return None. + */ void TCA1_Write(uint16_t timerVal); +/** + * @ingroup tca1_normal + * @brief Clears the Overflow Interrupt flag after the Overflow flag set. + * @param None. + * @return None. + */ void TCA1_ClearOverflowInterruptFlag(void); -bool TCA1_IsOverflowInterruptEnabled(void); +/** + * @ingroup tca1_normal + * @brief Checks the Overflow Interrupt flag status for the TCA. + * @param None. + * @retval True - Overflow Interrupt flag is set. + * @retval False - Overflow Interrupt flag is not set. + */ +bool TCA1_IsOverflowInterruptFlagSet(void); +/** + * @ingroup tca1_normal + * @brief Clears the Compare 0 Interrupt flag after the Compare 0 flag is set. + * @param None. + * @return None. + */ void TCA1_ClearCMP0InterruptFlag(void); -bool TCA1_IsCMP0InterruptEnabled(void); +/** + * @ingroup tca1_normal + * @brief Checks the Compare 0 Interrupt flag status for the TCA. + * @param None. + * @retval True - Compare 0 Interrupt flag is set. + * @retval False - Compare 0 Interrupt flag is not set. + */ +bool TCA1_IsCMP0InterruptFlagSet(void); +/** + * @ingroup tca1_normal + * @brief Clears the Compare 1 Interrupt flag after the Compare 1 flag is set. + * @param None. + * @return None. + */ void TCA1_ClearCMP1InterruptFlag(void); -bool TCA1_IsCMP1InterruptEnabled(void); +/** + * @ingroup tca1_normal + * @brief Checks the Compare 1 Interrupt flag status for the TCA. + * @param None. + * @retval True - Compare 1 Interrupt flag is set. + * @retval False - Compare 1 Interrupt flag is not set. + */ +bool TCA1_IsCMP1InterruptFlagSet(void); +/** + * @ingroup tca1_normal + * @brief Clears the Compare 2 Interrupt flag after the Compare 2 flag is set. + * @param None. + * @return None. + */ void TCA1_ClearCMP2InterruptFlag(void); -bool TCA1_IsCMP2InterruptEnabled(void); + +/** + * @ingroup tca1_normal + * @brief Checks the Compare 2 Interrupt flag status for the TCA. + * @param None. + * @retval True - Compare 2 Interrupt flag is set. + * @retval False - Compare 2 Interrupt flag is not set. + */ +bool TCA1_IsCMP2InterruptFlagSet(void); #ifdef __cplusplus } diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/timer_interface.h b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/timer_interface.h index 424a52c..a5fb6d3 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/timer_interface.h +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/mcc_generated_files/timer/timer_interface.h @@ -17,37 +17,24 @@ */ /* -Copyright (c) [2012-2020] Microchip Technology Inc. +© [2023] Microchip Technology Inc. and its subsidiaries. - All rights reserved. - - You are permitted to use the accompanying software and its derivatives - with Microchip products. See the Microchip license agreement accompanying - this software, if any, for additional info regarding your rights and - obligations. - - MICROCHIP SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT - LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE, NON-INFRINGEMENT - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP OR ITS - LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT, NEGLIGENCE, STRICT - LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHER LEGAL EQUITABLE - THEORY FOR ANY DIRECT OR INDIRECT DAMAGES OR EXPENSES INCLUDING BUT NOT - LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, - OR OTHER SIMILAR COSTS. - - To the fullest extend allowed by law, Microchip and its licensors - liability will not exceed the amount of fees, if any, that you paid - directly to Microchip to use this software. - - THIRD PARTY SOFTWARE: Notwithstanding anything to the contrary, any - third party software accompanying this software is subject to the terms - and conditions of the third party's license agreement. To the extent - required by third party licenses covering such third party software, - the terms of such license will apply in lieu of the terms provided in - this notice or applicable license. To the extent the terms of such - third party licenses prohibit any of the restrictions described here, - such restrictions will not apply to such third party software. + Subject to your compliance with these terms, you may use Microchip + software and any derivatives exclusively with Microchip products. + You are responsible for complying with 3rd party license terms + applicable to your use of 3rd party software (including open source + software) that may accompany Microchip software. SOFTWARE IS ?AS IS.? + NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS + SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, + MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT + WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, + INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY + KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF + MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE + FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S + TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT + EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR + THIS SOFTWARE. */ #ifndef TMR_INTERFACE_H diff --git a/avr128da48-cnano-led-blink-pwm-mcc.X/nbproject/configurations.xml b/avr128da48-cnano-led-blink-pwm-mcc.X/nbproject/configurations.xml index 85575fb..2f727dd 100644 --- a/avr128da48-cnano-led-blink-pwm-mcc.X/nbproject/configurations.xml +++ b/avr128da48-cnano-led-blink-pwm-mcc.X/nbproject/configurations.xml @@ -27,6 +27,7 @@ mcc_generated_files/system/ccp.h mcc_generated_files/system/interrupt.h mcc_generated_files/system/system.h + mcc_generated_files/system/config_bits.h mcc_generated_files/timer/tca1.h @@ -77,13 +78,13 @@ AVR128DA48 - nEdbgTool + noID XC8 - 2.31 + 2.41 3 - + @@ -136,9 +137,9 @@ - + @@ -192,36 +193,23 @@ - - - - - - - - - - - - - - - - - - - + + + + + + @@ -254,6 +242,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -264,11 +321,11 @@ noID XC8 - 2.31 + 2.41 3 - + @@ -318,12 +375,12 @@ - - + + - + @@ -379,15 +436,19 @@ + + + + diff --git a/images/AVR128DA48_CNANO.png b/images/AVR128DA48_CNANO.png new file mode 100644 index 0000000..bc0bc72 Binary files /dev/null and b/images/AVR128DA48_CNANO.png differ diff --git a/images/Program_Clean_and_Build.PNG b/images/Program_Clean_and_Build.PNG new file mode 100644 index 0000000..e655ef3 Binary files /dev/null and b/images/Program_Clean_and_Build.PNG differ diff --git a/images/Program_Make_and_Program_Device.PNG b/images/Program_Make_and_Program_Device.PNG new file mode 100644 index 0000000..20eb987 Binary files /dev/null and b/images/Program_Make_and_Program_Device.PNG differ diff --git a/images/Program_Set_as_Main_Project.PNG b/images/Program_Set_as_Main_Project.PNG new file mode 100644 index 0000000..2abacf6 Binary files /dev/null and b/images/Program_Set_as_Main_Project.PNG differ diff --git a/images/Program_Tool_Selection.PNG b/images/Program_Tool_Selection.PNG new file mode 100644 index 0000000..f8997b3 Binary files /dev/null and b/images/Program_Tool_Selection.PNG differ diff --git a/images/clock_control.PNG b/images/clock_control.PNG new file mode 100644 index 0000000..197c49e Binary files /dev/null and b/images/clock_control.PNG differ diff --git a/images/configuration_bits.PNG b/images/configuration_bits.PNG new file mode 100644 index 0000000..81bad51 Binary files /dev/null and b/images/configuration_bits.PNG differ diff --git a/images/interrupt_manager.PNG b/images/interrupt_manager.PNG new file mode 100644 index 0000000..4f52b38 Binary files /dev/null and b/images/interrupt_manager.PNG differ diff --git a/images/pin_manager.PNG b/images/pin_manager.PNG new file mode 100644 index 0000000..4c977f4 Binary files /dev/null and b/images/pin_manager.PNG differ diff --git a/images/tca1_1.PNG b/images/tca1_1.PNG new file mode 100644 index 0000000..05b3660 Binary files /dev/null and b/images/tca1_1.PNG differ diff --git a/images/tca1_2.PNG b/images/tca1_2.PNG new file mode 100644 index 0000000..7a45241 Binary files /dev/null and b/images/tca1_2.PNG differ