DAVE™ Forum Discussions
DAVE™
Today we published new DAVE4.4.2 update site. You should see an update available notification next time you open DAVE4. The update site updates DEVICE...
Show More
Today we published new DAVE4.4.2 update site.
You should see an update available notification next time you open DAVE4.
The update site updates DEVICE_PACK to v2.2.6, which as a major change includes new version of XMCLib v2.1.22. Show Less
You should see an update available notification next time you open DAVE4.
The update site updates DEVICE_PACK to v2.2.6, which as a major change includes new version of XMCLib v2.1.22. Show Less
DAVE™
Hey everyone,I'm currently implementing the mentioned example and I'm wondering if I can set the value of the dimmable or the other lights with a scri...
Show More
Hey everyone,
I'm currently implementing the mentioned example and I'm wondering if I can set the value of the dimmable or the other lights with a script so I don't have to do the changes manually inside the TwinCAT EtherCAT Master.
Does anyone know if it's possible and how to control the EtherCAT Master in TwinCAT with a script?
For better understanding: I want to control the IN_GENERIC and OUT_GENERIC of Box 1.
Kind regards,
Marc Show Less
I'm currently implementing the mentioned example and I'm wondering if I can set the value of the dimmable or the other lights with a script so I don't have to do the changes manually inside the TwinCAT EtherCAT Master.
Does anyone know if it's possible and how to control the EtherCAT Master in TwinCAT with a script?
For better understanding: I want to control the IN_GENERIC and OUT_GENERIC of Box 1.
Kind regards,
Marc Show Less
DAVE™
Hi everyone,I'm struggeling with a project on a XMC4400 device in DAVE and naturally I want tu use the FPU. I turned on the full hardware floating poi...
Show More
Hi everyone,
I'm struggeling with a project on a XMC4400 device in DAVE and naturally I want tu use the FPU. I turned on the full hardware floating point ABI.
The compiler is called with the flags -mfloat-abi=hard and -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 - which initially looks good to my limited experience.
However, looking into the included header files by Infineon, in "core_cm4.h" I would find the following lines:
Performing workspace-wide searches, there is not a single line in the entire workspace defining __GNUC__ nor __VFP_FP__ nor __SOFTFP__ - only __FPU_PRESENT is true.
Therefore, this code will define __FPU_USED as false - which is precisely what I don't want.
Does anybody have a clue how to fix this issue?
Best regards
Niklas Show Less
I'm struggeling with a project on a XMC4400 device in DAVE and naturally I want tu use the FPU. I turned on the full hardware floating point ABI.
The compiler is called with the flags -mfloat-abi=hard and -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 - which initially looks good to my limited experience.
However, looking into the included header files by Infineon, in "core_cm4.h" I would find the following lines:
#if defined ( __CC_ARM )
[...]
#elif defined ( __GNUC__ )
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
#define __FPU_USED 1U
#else
#error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
#define __FPU_USED 0U
#endif
#else
#define __FPU_USED 0U
#endif
Performing workspace-wide searches, there is not a single line in the entire workspace defining __GNUC__ nor __VFP_FP__ nor __SOFTFP__ - only __FPU_PRESENT is true.
Therefore, this code will define __FPU_USED as false - which is precisely what I don't want.
Does anybody have a clue how to fix this issue?
Best regards
Niklas Show Less
DAVE™
Hi There,I am using xmc4500 interfacing with tft display.in debugging i am getting this messageProgram received signal SIGTRAP, Trace/breakpoint trap....
Show More
Hi There,
I am using xmc4500 interfacing with tft display.
in debugging i am getting this message
Program received signal SIGTRAP, Trace/breakpoint trap.
0x080011ca in XMC_USIC_CH_GetTransmitBufferStatus (channel=0x40030000) at C:/Workspaces/DAVE-4.4.2-64Bit/oily/Libraries/XMCLib/inc/xmc_usic.h:1183
1183 {
what does this means? Show Less
I am using xmc4500 interfacing with tft display.
in debugging i am getting this message
Program received signal SIGTRAP, Trace/breakpoint trap.
0x080011ca in XMC_USIC_CH_GetTransmitBufferStatus (channel=0x40030000) at C:/Workspaces/DAVE-4.4.2-64Bit/oily/Libraries/XMCLib/inc/xmc_usic.h:1183
1183 {
what does this means? Show Less
DAVE™
Hi all!I'm using the XMC4800 Relax Kit V1 and i'm trying to communicate with the N25q032 flash memory using USIC functions (i don't want to use the SP...
Show More
Hi all!
I'm using the XMC4800 Relax Kit V1 and i'm trying to communicate with the N25q032 flash memory using USIC functions (i don't want to use the SPI_MASTER Dave app).
I want to send the WriteEnable command to the flash and read its status (2 if it's right)..
I'm new to Dave, so i can't understand what should i add to my code to make it work...any help will be appreciated!
Here my code:
#include
#include "xmc_spi.h"
#include "xmc_gpio.h"
#define SPI_MISO P4_6
#define SPI_MOSI P4_7
#define SPI_SCLK P4_2
#define SPI_SS P4_3
const XMC_SPI_CH_CONFIG_t spi_config =
{
.baudrate = 10000000,
.bus_mode = XMC_SPI_CH_BUS_MODE_MASTER,
.parity_mode = XMC_USIC_CH_PARITY_MODE_NONE
};
int main(void)
{
uint16_t tmp;
XMC_GPIO_CONFIG_t gpio_config;
XMC_SPI_CH_Init(XMC_SPI2_CH1, &spi_config);
gpio_config.mode = XMC_GPIO_MODE_INPUT_TRISTATE;
XMC_GPIO_Init(SPI_MISO, &gpio_config);
XMC_SPI_CH_SetInputSource(XMC_SPI2_CH1, XMC_SPI_CH_INPUT_DIN0, USIC2_C1_DX0_P4_6);
XMC_SPI_CH_SetWordLength(XMC_SPI2_CH1, 8);
XMC_SPI_CH_SetFrameLength(XMC_SPI2_CH1, 8);
XMC_SPI_CH_ConfigureShiftClockOutput(XMC_SPI2_CH1, XMC_SPI_CH_BRG_SHIFT_CLOCK_PASSIVE_LEVEL_1_DELAY_DISABLED, XMC_SPI_CH_BRG_SHIFT_CLOCK_OUTPUT_SCLK); // CPOL=1, CPHA=0
XMC_SPI_CH_Start(XMC_SPI2_CH1);
gpio_config.output_level = XMC_GPIO_OUTPUT_LEVEL_HIGH;
gpio_config.mode = XMC_GPIO_MODE_OUTPUT_PUSH_PULL;
XMC_GPIO_Init(SPI_SS, &gpio_config);
gpio_config.mode = XMC_GPIO_MODE_OUTPUT_PUSH_PULL | P4_7_AF_U2C1_DOUT0;
XMC_GPIO_Init(SPI_MOSI, &gpio_config);
gpio_config.mode = XMC_GPIO_MODE_OUTPUT_PUSH_PULL | P4_2_AF_U2C1_SCLKOUT;
XMC_GPIO_Init(SPI_SCLK, &gpio_config);
while(1U)
{
XMC_GPIO_SetOutputLow(SPI_SS);
XMC_SPI_CH_EnableSlaveSelect(XMC_SPI2_CH1, XMC_SPI_CH_SLAVE_SELECT_0);
XMC_SPI_CH_SetTransmitMode(XMC_SPI2_CH1, XMC_SPI_CH_MODE_STANDARD);
XMC_SPI_CH_Transmit(XMC_SPI2_CH1, 0x06, XMC_SPI_CH_MODE_STANDARD);
//Wait till the byte has been transmitted
while((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) & XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION) == 0U);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION);
while(((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) & XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION) == 0U) && ((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) & XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION) == 0U));
XMC_SPI_CH_DisableSlaveSelect(XMC_SPI2_CH1);
XMC_GPIO_SetOutputHigh(SPI_SS);
XMC_GPIO_SetOutputLow(SPI_SS);
XMC_SPI_CH_EnableSlaveSelect(XMC_SPI2_CH1, XMC_SPI_CH_SLAVE_SELECT_0);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION);
XMC_SPI_CH_SetTransmitMode(XMC_SPI2_CH1, XMC_SPI_CH_MODE_STANDARD);
XMC_SPI_CH_Transmit(XMC_SPI2_CH1, 0x05, XMC_SPI_CH_MODE_STANDARD);
//Wait till the byte has been transmitted
while((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) & XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION) == 0U);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION);
while((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) && XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION == 0U) && (XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) && XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION == 0U));
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION);
//*******************receive********************
XMC_SPI_CH_Receive(XMC_SPI2_CH1, XMC_SPI_CH_MODE_STANDARD);
while((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) && XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION == 0U) && (XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) && XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION == 0U));
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION);
tmp = XMC_SPI_CH_GetReceivedData(XMC_SPI2_CH1);
XMC_SPI_CH_DisableSlaveSelect(XMC_SPI2_CH1);
XMC_GPIO_SetOutputHigh(SPI_SS);
if(tmp == 0x0002)
DIGITAL_IO_SetOutputHigh(&led);
else
DIGITAL_IO_SetOutputLow(&led);
}
}
Show Less
I'm using the XMC4800 Relax Kit V1 and i'm trying to communicate with the N25q032 flash memory using USIC functions (i don't want to use the SPI_MASTER Dave app).
I want to send the WriteEnable command to the flash and read its status (2 if it's right)..
I'm new to Dave, so i can't understand what should i add to my code to make it work...any help will be appreciated!
Here my code:
#include
#include "xmc_spi.h"
#include "xmc_gpio.h"
#define SPI_MISO P4_6
#define SPI_MOSI P4_7
#define SPI_SCLK P4_2
#define SPI_SS P4_3
const XMC_SPI_CH_CONFIG_t spi_config =
{
.baudrate = 10000000,
.bus_mode = XMC_SPI_CH_BUS_MODE_MASTER,
.parity_mode = XMC_USIC_CH_PARITY_MODE_NONE
};
int main(void)
{
uint16_t tmp;
XMC_GPIO_CONFIG_t gpio_config;
XMC_SPI_CH_Init(XMC_SPI2_CH1, &spi_config);
gpio_config.mode = XMC_GPIO_MODE_INPUT_TRISTATE;
XMC_GPIO_Init(SPI_MISO, &gpio_config);
XMC_SPI_CH_SetInputSource(XMC_SPI2_CH1, XMC_SPI_CH_INPUT_DIN0, USIC2_C1_DX0_P4_6);
XMC_SPI_CH_SetWordLength(XMC_SPI2_CH1, 8);
XMC_SPI_CH_SetFrameLength(XMC_SPI2_CH1, 8);
XMC_SPI_CH_ConfigureShiftClockOutput(XMC_SPI2_CH1, XMC_SPI_CH_BRG_SHIFT_CLOCK_PASSIVE_LEVEL_1_DELAY_DISABLED, XMC_SPI_CH_BRG_SHIFT_CLOCK_OUTPUT_SCLK); // CPOL=1, CPHA=0
XMC_SPI_CH_Start(XMC_SPI2_CH1);
gpio_config.output_level = XMC_GPIO_OUTPUT_LEVEL_HIGH;
gpio_config.mode = XMC_GPIO_MODE_OUTPUT_PUSH_PULL;
XMC_GPIO_Init(SPI_SS, &gpio_config);
gpio_config.mode = XMC_GPIO_MODE_OUTPUT_PUSH_PULL | P4_7_AF_U2C1_DOUT0;
XMC_GPIO_Init(SPI_MOSI, &gpio_config);
gpio_config.mode = XMC_GPIO_MODE_OUTPUT_PUSH_PULL | P4_2_AF_U2C1_SCLKOUT;
XMC_GPIO_Init(SPI_SCLK, &gpio_config);
while(1U)
{
XMC_GPIO_SetOutputLow(SPI_SS);
XMC_SPI_CH_EnableSlaveSelect(XMC_SPI2_CH1, XMC_SPI_CH_SLAVE_SELECT_0);
XMC_SPI_CH_SetTransmitMode(XMC_SPI2_CH1, XMC_SPI_CH_MODE_STANDARD);
XMC_SPI_CH_Transmit(XMC_SPI2_CH1, 0x06, XMC_SPI_CH_MODE_STANDARD);
//Wait till the byte has been transmitted
while((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) & XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION) == 0U);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION);
while(((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) & XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION) == 0U) && ((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) & XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION) == 0U));
XMC_SPI_CH_DisableSlaveSelect(XMC_SPI2_CH1);
XMC_GPIO_SetOutputHigh(SPI_SS);
XMC_GPIO_SetOutputLow(SPI_SS);
XMC_SPI_CH_EnableSlaveSelect(XMC_SPI2_CH1, XMC_SPI_CH_SLAVE_SELECT_0);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION);
XMC_SPI_CH_SetTransmitMode(XMC_SPI2_CH1, XMC_SPI_CH_MODE_STANDARD);
XMC_SPI_CH_Transmit(XMC_SPI2_CH1, 0x05, XMC_SPI_CH_MODE_STANDARD);
//Wait till the byte has been transmitted
while((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) & XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION) == 0U);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_TRANSMIT_SHIFT_INDICATION);
while((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) && XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION == 0U) && (XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) && XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION == 0U));
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION);
//*******************receive********************
XMC_SPI_CH_Receive(XMC_SPI2_CH1, XMC_SPI_CH_MODE_STANDARD);
while((XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) && XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION == 0U) && (XMC_SPI_CH_GetStatusFlag(XMC_SPI2_CH1) && XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION == 0U));
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_RECEIVE_INDICATION);
XMC_SPI_CH_ClearStatusFlag(XMC_SPI2_CH1, XMC_SPI_CH_STATUS_FLAG_ALTERNATIVE_RECEIVE_INDICATION);
tmp = XMC_SPI_CH_GetReceivedData(XMC_SPI2_CH1);
XMC_SPI_CH_DisableSlaveSelect(XMC_SPI2_CH1);
XMC_GPIO_SetOutputHigh(SPI_SS);
if(tmp == 0x0002)
DIGITAL_IO_SetOutputHigh(&led);
else
DIGITAL_IO_SetOutputLow(&led);
}
}
DAVE™
Hi Team, I am trying to install DAVE software to my system but i am getting some error.i am sharing my logs file.My system detailsWindows 1064 bits ...
Show More
Hi Team,
I am trying to install DAVE software to my system but i am getting some error.
i am sharing my logs file.
My system details
Windows 10
64 bits OS
Thanks Show Less
I am trying to install DAVE software to my system but i am getting some error.
i am sharing my logs file.
My system details
Windows 10
64 bits OS
Thanks Show Less
DAVE™
When I open Dave 4.4.2 I get this message "An error has ocurred. See the log file.C:\Users\fernando salazar\Desktop\DAVE_4-4-2_64bit_2018-02-23\DAVE-I...
Show More
When I open Dave 4.4.2 I get this message "An error has ocurred. See the log file.C:\Users\fernando salazar\Desktop\DAVE_4-4-2_64bit_2018-02-23\DAVE-IDE-4.4.2-64Bit\eclipse\configuratione\1558461591088.log"
Every time that i open the program appears a new text document as 1558461591088.log with a diferent name.
How could I solve the problem?
The text document 1558461591088.log Show Less
Every time that i open the program appears a new text document as 1558461591088.log with a diferent name.
How could I solve the problem?
The text document 1558461591088.log Show Less
DAVE™
Hi,We are using the XMC4700 with a couple of UART apps. One of the parts we are communicating with is a Bluetooth module that requires CTS and RTS for...
Show More
Hi,
We are using the XMC4700 with a couple of UART apps. One of the parts we are communicating with is a Bluetooth module that requires CTS and RTS for flow control. It does not appear DAVE's UART app has support for this nor can I find any APIs. Has anyone coded this before and be willing to share some code snippets or ideas?
Thanks,
Paul Show Less
We are using the XMC4700 with a couple of UART apps. One of the parts we are communicating with is a Bluetooth module that requires CTS and RTS for flow control. It does not appear DAVE's UART app has support for this nor can I find any APIs. Has anyone coded this before and be willing to share some code snippets or ideas?
Thanks,
Paul Show Less
DAVE™
Hello,a colleague shared a project via a git repository (Dave 4.3.2).When I'm trying to import it into Dave, I recognize two things:1. the Project has...
Show More
Hello,
a colleague shared a project via a git repository (Dave 4.3.2).
When I'm trying to import it into Dave, I recognize two things:
1. the Project has switched its configuration from "Debug" to "Release", while my colleque pushed it with an active "Debug" configuration. (Its not really a problem, but unexpected)
2. When I'm trying to compile the project, all Dave-Apps seem to be unrecognized and the compiler throws many error messages "Groovy object not found...". I have absolutely no clue how to solve this!
Can somebody give me a hint how to fix this problem or what causes it?
Thanks,
Michael Show Less
a colleague shared a project via a git repository (Dave 4.3.2).
When I'm trying to import it into Dave, I recognize two things:
1. the Project has switched its configuration from "Debug" to "Release", while my colleque pushed it with an active "Debug" configuration. (Its not really a problem, but unexpected)
2. When I'm trying to compile the project, all Dave-Apps seem to be unrecognized and the compiler throws many error messages "Groovy object not found...". I have absolutely no clue how to solve this!
Can somebody give me a hint how to fix this problem or what causes it?
Thanks,
Michael Show Less
DAVE™
Greetings all,I have 3 x PWM APP's all running the same duty and period.I would like to phase shift them such that the output pulses are spread equall...
Show More
Greetings all,
I have 3 x PWM APP's all running the same duty and period.
I would like to phase shift them such that the output pulses are spread equally over the period.
Is there a method for doing this ? I'm thinking I should be able to initialise the timer value of each PWM to different values before I start them. Something like PWM_SetTimerValue().
Any suggestions would be greatly appreciated.
PHAB Show Less
I have 3 x PWM APP's all running the same duty and period.
I would like to phase shift them such that the output pulses are spread equally over the period.
Is there a method for doing this ? I'm thinking I should be able to initialise the timer value of each PWM to different values before I start them. Something like PWM_SetTimerValue().
Any suggestions would be greatly appreciated.
PHAB Show Less