Version: **
Question: Why do keyboard commands not work in modus-shell?
Answer: The modus-shell tool included with ModusToolbox™ software is based on the latest version Cygwin. The latest version of Cygwin does not support some keyboard shortcuts, such as Ctrl + V (paste) and Ctrl + F (find).
Workaround: Use the context menu from the Title bar and select various commands shown under Edit.
Version: **
Infineon recommends that you isolate the sensor from vibration sources. The operating frequency of the sensor is 40 Hz. If vibration is expected at exactly 40 Hz with very high acceleration (≤ 0.3 g), you should do the following to minimize the vibration impact:
However, for a typical application, the impact of vibration is minimal. As shown in Figure 2, for a test setup with three sensors mounted on a commercially available air purifier, the test result shows that with the denoiser filter enabled, the sensor is robust against the vibration generated by a different fan of the air purifier.
Figure 2. Vibration robustness of XENSIVTM PAS CO2
For more details, visit the CO2 sensor website and see the application note, General design in guidelines for XENSIV™ PAS CO2 sensor.
Figure 3. Impact of CO2 on the human body at various concentration levels
Source
One such setup is as follows:
Evaluation kits are already available with major distributors.
Figure 4. Average power consumption
For more information, see Section 3 of the application note, XENSIV™ PAS CO2 for low-power applications.
With the automatic baseline offset correction (ABOC) feature enabled, the sensor accuracy drifts by 1% every year.
Figure 5. Values of pressure and acoustic stability
See Section 4.1.5 - Transfer function table in the datasheet.
Each sensor is calibrated during our production for the complete operating range. Production calibration is done with highly accurate CO2 gas bottle and verified with an ideal reference sensor.
The sensor might show small amount of offset after assembly due to stress generated from the assembly process on the light source. Therefore, to get the best performance, this offset should be corrected using either FCS or ABOC.
For the FCS calibration, you need to have a reference sensor. In the ABOC mechanism, the device keeps track of the minimum value recorded over a week. The offset to the reference baseline is computed and used to calculate the correction factor to be applied for the week after.
Figure 6. Operation of the ABOC feature
See the application note, After-assembly calibration scheme for XENSIV™ PAS CO2 for more details.
Figure 7. Airflow direction
See the application note, General design in guidelines for XENSIV™ PAS CO2 sensor for details.
Note: For more information, see the Community webpage for CO2 sensor where you can find answers to your questions and ask your own.
Version:**
Question: Why did the Eclipse IDE for ModusToolbox quit unexpectedly on my macOS Big Sur machine?
Answer: For some macOS machines running on M1 processors, the Eclipse IDE may fail to start with a message such as:
"ModusToolbox quit unexpectedly."
The message details also state that the "attachment of code signature supplement failed."
This problem occurs any time that Eclipse was last opened in an empty workspace prior to a reboot. After the reboot, the application fails to start.
Run the following command in the /Applications/ModusToolbox/ide_x.y/ModusToolbox.app directory:
xattr -dr com.apple.quarantine *
Note: You may have to adjust the path if you installed ModusToolbox in a non-default location.
When complete, launch the Eclipse IDE again. This workaround works for all cases so far discovered.
Version: **
Question: Library Manager crashed when I tried to change my Active BSP, and now there is no information available. How do I recover my previous application state?
Answer: On rare occasions, the Library Manager crashes trying to change from one Active BSP to another incompatible Active BSP. The tool removes libraries for the old Active BSP, but then it is unable to update libraries for the new Active BSP. This issue is being addressed for ModusToolbox version 2.4. In the meantime, to restore your application, you must edit the Makefile and review the Library Manager libraries. Here are the steps to do that:
Version: **
Question:
How to use non-blocking method instead of blocking method in PSoC™ 4 flash?
Answer:
When executing flash erase or write action, the low-level driver uses blocking write method, disables all CPU interrupts until the end of the operation. Sometimes, the system needs to use non-blocking write. The following steps show how to use the non-blocking method using the CY8CKIT-041 Demo Kit:
1. Add the following lines of code to main.c, and make sure to set IMO to 48 Mhz in the *.cydwr clocks.
#define SPC_INT_IRQ 9u //the SPC interrupt No. follow the table
PSOC series |
SPCIF IRQ |
PSOC 4000S |
9 |
PSOC 4100S |
12 |
PSOC 4100S plus |
15 |
#define REG(addr) (*((volatile uint32 *) (addr)))
#define CPUSS_CONFIG_REG REG( 0x40100000 )
extern void SpcIntHandler();
void main()
{
…
CyIntSetVector(SPC_INT_IRQ,SpcIntHandler);
CyIntSetPriority(SPC_INT_IRQ,3);
CyIntEnable(SPC_INT_IRQ);
/* Set CPUSS_CONFIG.VECS_IN_RAM because SPC ISR should be in SRAM */
CPUSS_CONFIG_REG |= 0x00000001;
…
2. Go to Project à Build Settings. In the Build Settings dialog, set Skip Code Generation to False. Then, compile the project to generate the low-level driver.
3. Add the lines of code in red in the current *.ld file:
.data : ALIGN(8)
{
__cy_region_start_data = .;
KEEP(*(.jcr))
*(.got.plt) *(.got)
*(.shdata)
*(.data .data.* .gnu.linkonce.d.*)
. = ALIGN (8);
*(.ram)
KEEP(*(.sramCode))
. = ALIGN (8);
_edata = .;
} >ram AT>rom
4. Define and assign the following three functions to the RAM section of the flash.c file.
/* Variable to keep track of how many times SPC ISR is triggered */
uint32 iStatusInt = 0;
CY_SECTION(".sramCode") __attribute__((used))
void DoStuffRunningInSram(void)
{
CY_NOP;
}
CY_SECTION(".sramCode") __attribute__((used))
void SpcIntHandler(void)
{
volatile uint32 parameters[1];
/* Write key1, key2 parameters to SRAM */
parameters[0u] = (uint32) (((uint32) CY_FLASH_KEY_TWO(0x09) << CY_FLASH_PARAM_KEY_TWO_OFFSET) | CY_FLASH_KEY_ONE);
/* Write the address of key1 to the CPUSS_SYSARG arg */
CY_FLASH_CPUSS_SYSARG_REG = (uint32) ¶meters[0u];
/* Write the API code = 0x09 to the CPUSS_SYSREQ.COMMAND
* register and assert the sysreq bit */
CY_FLASH_CPUSS_SYSREQ_REG = CY_FLASH_CPUSS_REQ_START | 0x09;
/* Number of times the ISR has triggered */
iStatusInt ++;
}
/*******************************************************************************
* Function Name: CySysFlashWriteRow
****************************************************************************//**
*
* Erases a row of Flash and programs it with the new data
********************************************************************************/
CY_SECTION(".sramCode") __attribute__((used))
uint32 CySysFlashWriteRow(uint32 rowNum, const uint8 rowData[])
{…}
5. Set the other interrupt, such as the 2 ms timer interrupt service routine in main.c,. Add the following code. The CPU will run into this handler every 2 ms.
CY_SECTION(".sramCode") __attribute__((used))
CY_ISR(Isr_Timer)
{
/* Clear the TCPWM terminal count interrupt */
Timer_ClearInterrupt(Timer_INTR_MASK_TC);
LED_Blue_Write(~LED_Blue_Read());
msCount++;
if(msCount >= 2)//////1000
{
/* Toggle the green LED state */
LED_Red_Write(~LED_Red_Read());
msCount = 0;
secFlag = 1;
}
Assign the API in the interrupt handler to the RAM:
7. Download the hex to the chip. The blue and red lights will be ON without any blinking. If using the blocking mode, the light will blink because the CPU could not operate flash when it is writing or erasing. Then, the timer interrupt handler will be pending until the operation finishes. The minimum time of flash operation should be 15 ms to 20 ms.
Version:**
Question:
Why do I get an exception error while trying to install CySecureTools on macOS?
...
distutils.errors.DistutilsError: Setup script exited with error: SandboxViolation:
mkdir('/private/var/root/Library/Caches/com.apple.python/private/tmp/easy_install- y8c1npmz', 511) {}
The package setup script has attempted to modify files on your system
that are not within the EasyInstall build area, and has been aborted.
This package cannot be safely installed by EasyInstall, and may not
support alternate installation locations even if you run its setup
script by hand. Please inform the package's author and the EasyInstall
maintainers to find out if a fix or workaround is available.
Answer:
This is likely caused by an outdated pip package. To resolve this issue, upgrade pip using the following command in a command-line terminal:
python3 -m pip install --upgrade pip
Version: *A
Question:
What are the differences in analog subsystem of CY8C62x4 devices as compared to other PSoC 6 devices?
Answer:
CY8C62x4 devices include an advanced analog subsystem designed for low-power analog sensing and simultaneous sampling applications. It has the following new features:
To allow deep sleep operation, the following additional functions are included:
The following table provides a summary of available features in PSoC CY8C62x4 and other PSoC 6 MCU devices with respect to the analog blocks:
Features |
PSoC CY8C62x4 |
Other PSoC 6 MCU devices* |
Number of SAR ADCs |
2 |
1 |
Maximum sample rate |
2Msps |
1Msps/2Msps** |
SAR ADC in System Deep Sleep mode |
Yes |
No |
FIFO |
Yes |
No |
Dedicated Timer for SAR ADCs |
Yes |
No |
Low-Power Oscillator (LPOSC) |
Yes |
No |
Configurable number of scans per trigger |
Yes |
One scan per trigger or continuous scan |
Analog Reference in System Deep Sleep mode |
Yes |
Yes |
CTBm Opamp in System Deep Sleep mode |
Yes |
Yes |
CTBm Opamp pump clock active in System Deep Sleep mode |
Yes |
No |
Continuous-Time DAC (CTDAC) output hold in System Deep Sleep mode |
Yes |
Yes |
* Some of the device families may not include certain features.
** Maximum sample rate depends on the device family.
See Device Datasheets and Technical Reference Manuals for details.
Version: **
Question:
Why did the Eclipse IDE for ModusToolbox quit unexpectedly on my macOS Big Sur machine?
Answer:
For some macOS machines running on M1 processors, the Eclipse IDE may fail to start with a message such as:
"ModusToolbox quit unexpectedly."
The message details also state that the "attachment of code signature supplement failed."
This problem occurs any time that Eclipse was last opened in an empty workspace prior to a reboot. After the reboot, the application fails to start.
Run the following command in the /Applications/ModusToolbox/ide_x.y/ModusToolbox.app directory:
xattr -dr com.apple.quarantine *
Note:
You may have to adjust the path if you installed ModusToolbox in a non-default location.
When complete, launch the Eclipse IDE again. This workaround works for all cases so far discovered.
Japanese version: macOSバージョン11.0.1(Big Sur)を使用したModusToolbox用のEclips... - Cypress Developer Community
Version: **
Question:
Why does the Eclipse IDE for ModusToolbox show an error while using macOS version 11.0.1 (Big Sur)?
Answer:
When opening the Eclipse IDE for ModusToolbox using macOS version 11.0.1 (Big Sur), you may encounter a java.lang.NullPointerException error message, which indicates that the IDE cannot run due to a Java conflict between Eclipse and macOS.
Workaround:
If you are using macOS 11.0.1 (Big Sur), do not use the Eclipse IDE. You can use various tools such as the Project Creator, Library Manager, and Configurators in stand-alone mode. You can also export your application to various IDEs/code editors, such as Visual Studio Code (VS Code). Refer to the ModusToolbox User Guide for details.
Community Translated by NoTa_4591161 Version: **
Translation - English: PSoC Creator Design for PSoC 6 with Locked Pin Connected to Opamp Minus Input Fails to Build – KBA221141
質問:
オペアンプのマイナス入力に接続されているピンがロックされていると、オペアンプコンポーネントの配置中にPSoC 6を使用したPSoC® Creator™デザインが失敗するのはなぜですか?
回答:
PSoC Creator4.1および4.2Betaでは、PSoC 6デバイスのプレーサーに欠陥があり、関連するピンがロックされているときに、オペアンプのマイナス入力がブロックされていると誤って表示されます。デザインにマイナスピンを必要とする2つのオペアンプが含まれている場合、配置者はマイナスピンを必要とするオペアンプをマイナスピンがブロックされている場所に割り当てようとしないため、配置が失敗する可能性があります。これは、PSoC Creator4.2の最終リリースで解決される予定です。
回避策:
回避策は、ピンのロックを解除したままにし、代わりにオペアンプの配置をロックすることです。各オペアンプにはマイナス入力用の優先ピンが1つしかないため、オペアンプの配置をロックすると、プレーサーが目的のピン位置にガイドされます。これを実現する最も簡単な方法は次のとおりです。