Frequently Asked Questions

Q: How can I integrate the MRS Applics Studio with the IDE of my choice? (e.g. eclipse)

Please refer to C Programming -> Eclipse Integration.

Q: How can I automate or integrate the MRS CAN Flasher into my toolchain or scripts?

The MRS CAN Flasher is available in a commandline version. Additionally we can supply versions for different platforms, e.g. Qt. Please contact support for further information.

Q: How can I use MRS Applics Studio with version control systems (vcs) such as git or subversion (svn)?

MRS Applics Studio projects can easily be added to vcs. Simply add the project directory to the system of your choice. The general advice for vcs is to not include binaries or other files that can be recreated from source files. In the case of the Applics Studio projects this would be the /bin subdirectory. If you're sure of what you're doing you could also remove the /src/ds directory as these files can be recreated by MRS Applics Studio, but there's no guarantee that this won't change with future updates.

If you want to version MRS Applics Studio in itself it's probably easiest to either decline update prompts (not recommended), backup your whole machine or request setups for specific versions. We recommend to always update to the latest release.

Q: What value is user EEPROM initialized with? How can I initialize EEPROM?

User EEPROM is set to 0xFF on factory new modules. If you need it to be different, e.g. for a operating hours counter you can use the following sample code as a starting point:

usercode_init()
{
    if(eeprom_value == 0xFF)
    {
        // check if eeprom is uninitialized and if so initialize it to 0x00 (meaning 0 operating hours)
        eeprom_write(&eeprom_value, 0x00)
    }
}

Q: How can I add my own source files to the build process

Please refer to C Programming -> First Steps -> User Defined Sources

Q: How is the interrupt priority managed? Can I make changes to it?

The interrupt priority is predefined by MRS in /src/app/irq_cfg.c. The table below is given for better understanding of the interurpt configuration. It is not intended to be changed. If, however you know what you're doing, you are free to do so. MRS is not responsible for any associated problems caused by changes to interrupts or any other part of the base software.

Interrupts Priority Related to
LPUART0_RxTx IRQ PROI - 8 LPUART related
PORTB IRQ PROI - 8 PORT related
CAN0_ORed, CAN1_ORed, CAN2_ORed IRQ PRIO - 7 CAN related
LPSPIO IRQ PRIO - 6 LPSPI related
LPI2C0_Slave, LPI2C0_Master IRQ PRIO - 5 I2C0 related
DMA0, ADC0, PDB0, PDB1 IRQ PRIO - 4 ADC related
LPTMR0 IRQ PRIO - 3 LIN related
PORTA, LPUART2_RxTx IRQ PRIO - 2 LIN related
FTM0, FTM1, FTM2, FTM3 IRQ PRIO - 1 PWM related

All non-listed interrupts by default have a priority of 0 (highest priority)

Q: How can I activate a Pull-Up Input?

Open the Ports & Interfaces in Applics Studio, go to the Digital Outputs chapter and choose the desired Pull-Up, e.g. PU_A_IN0.

usercode_init()
{
    // ACTIVATE PULL UP - CONFIGURE INPUT AS SENSOR INPUT
    ---------------------------------------------------------------------------
    user_do_set(PU_A_IN0, TRUE);
}

Q: How can I activate a Pull-Down Input?

Open the Ports & Interfaces in Applics Studio, go to the Digital Outputs chapter and choose the desired Pull-Down, e.g. PD_D_IN1.

usercode_init()
{
    // ACTIVATE PULLD DOWN - CONFIGURE INPUT AS CURRENT INPUT
    // ---------------------------------------------------------------------------
    user_do_set(PD_D_IN1, TRUE);
}