Copyright 2021 STMicroelectronics
The STM32CubeWB Firmware package comes with a rich set of examples running on STMicroelectronics boards, organized by board and provided with preconfigured projects for the main supported toolchains.
The examples are classified depending on the STM32Cube level they apply to, and are named as follows:
The examples are located under STM32Cube_FW_WB_VX.Y.Z\Projects\, and all of them have the same structure:
To run the example, you have to do the following:
The provided examples can be tailored to run on any compatible hardware; user simply need to update the BSP drivers for his board, if it has the same hardware functions (LED, LCD display, pushbuttons...etc.). The BSP is based on a modular architecture that allows it to be ported easily to any hardware by just implementing the low level routines.
| Level | Module Name | Project Name | Description | STM32WB5MM-DK | P-NUCLEO-WB55.USBDongle | P-NUCLEO-WB55.Nucleo | NUCLEO-WB15CC |
Templates |
- |
Starter project |
This projects provides a reference template that can be used to build any firmware application. | CubeMx | - | CubeMx | CubeMx |
| Total number of templates: 3 | 1 | 0 | 1 | 1 | |||
Templates_LL |
- |
Starter project |
This projects provides a reference template through the LL API that can be used to build any firmware application. | CubeMx | - | CubeMx | - |
| Total number of templates_ll: 2 | 1 | 0 | 1 | 0 | |||
Examples |
- |
BSP |
How to use the different BSP drivers of external devices mounted on : STM32WB5MM-DK board. | X | X | - | - |
ADC |
ADC_AnalogWatchdog |
How to use the ADC peripheral to perform conversions with an analog watchdog and out-of-window interrupts enabled. | - | - | CubeMx | - | |
ADC_MultiChannelSingleConversion |
Use ADC to convert a several channels using sequencer in discontinuous mode, conversion data are transferred by DMA into an array, indefinitely (circular mode). | - | - | CubeMx | CubeMx | ||
ADC_Oversampling |
Use ADC to convert a single channel but using oversampling feature to increase resolution. | - | - | CubeMx | - | ||
ADC_SingleConversion_TriggerSW_IT |
How to use the ADC to convert a single channel at each software start. This example uses the interrupt programming model. | - | - | CubeMx | CubeMx | ||
ADC_SingleConversion_TriggerTimer_DMA |
Use ADC to convert a single channel at each trig from timer, conversion data are transferred by DMA into an array, indefinitely (circular mode). | - | - | CubeMx | CubeMx | ||
BSP |
BSP_Example |
This example describes how to use the bsp API. | - | - | CubeMx | CubeMx | |
COMP |
COMP_CompareGpioVsVrefInt_IT |
How to configure the COMP peripheral to compare the external voltage applied on a specific pin with the Internal Voltage Reference. | - | - | CubeMx | CubeMx | |
COMP_CompareGpioVsVrefInt_Window_IT |
This example shows how to make an analog watchdog using the COMP peripherals in window mode. | - | - | CubeMx | - | ||
CORTEX |
CORTEXM_SysTick |
How to use the default SysTick configuration with a 1 ms timebase to toggle LEDs. | - | - | - | CubeMx | |
CRC |
CRC_Example |
How to configure the CRC using the HAL API. The CRC (cyclic redundancy check) calculation unit computes the CRC code of a given buffer of 32-bit data words, using a fixed generator polynomial (0x4C11DB7). | - | - | CubeMx | CubeMx | |
CRC_UserDefinedPolynomial |
How to configure the CRC using the HAL API. The CRC (cyclic redundancy check) calculation unit computes the 8-bit CRC code for a given buffer of 32-bit data words, based on a user-defined generating polynomial. | - | - | CubeMx | - | ||
CRYP |
CRYP_AESModes |
How to use the CRYP peripheral to encrypt and decrypt data using AES in chaining modes (ECB, CBC, CTR). | - | - | CubeMx | - | |
CRYP_DMA |
How to use the AES1 peripheral to encrypt and decrypt data using AES 128 Algorithm with ECB chaining mode in DMA mode. | - | - | CubeMx | CubeMx | ||
Cortex |
CORTEXM_MPU |
Presentation of the MPU feature. This example configures a memory area as privileged read-only, and attempts to perform read and write operations in different modes. | - | - | CubeMx | - | |
CORTEXM_ModePrivilege |
How to modify the Thread mode privilege access and stack. Thread mode is entered on reset or when returning from an exception. | - | - | CubeMx | - | ||
CORTEXM_SysTick |
How to use the default SysTick configuration with a 1 ms timebase to toggle LEDs. | - | - | CubeMx | - | ||
DMA |
DMA_FLASHToRAM |
How to use a DMA to transfer a word data buffer from Flash memory to embedded SRAM through the HAL API. | - | - | CubeMx | CubeMx | |
DMA_MUXSYNC |
How to use the DMA with the DMAMUX to synchronize a transfer with the LPTIM1 output signal. USART1 is used in DMA synchronized mode to send a countdown from 10 to 00, with a period of 2 seconds. | - | - | CubeMx | CubeMx | ||
DMA_MUX_RequestGen |
How to use the DMA with the DMAMUX request generator to generate DMA transfer requests upon an External line 4 rising edge signal. | - | - | CubeMx | CubeMx | ||
FLASH |
FLASH_EraseProgram |
How to configure and use the FLASH HAL API to erase and program the internal Flash memory. | - | - | CubeMx | CubeMx | |
FLASH_WriteProtection |
How to configure and use the FLASH HAL API to enable and disable the write protection of the internal Flash memory. | - | - | CubeMx | CubeMx | ||
GPIO |
GPIO_EXTI |
How to configure external interrupt lines. | - | - | CubeMx | CubeMx | |
GPIO_IOToggle |
How to configure and use GPIOs through the HAL API. | - | - | CubeMx | CubeMx | ||
HAL |
HAL_TimeBase |
How to customize HAL using a general-purpose timer as main source of time base, instead of Systick. | - | - | CubeMx | CubeMx | |
HAL_TimeBase_RTC_ALARM |
How to customize HAL using RTC alarm as main source of time base, instead of Systick. | - | - | CubeMx | - | ||
HAL_TimeBase_RTC_WKUP |
How to customize HAL using RTC wakeup as main source of time base, instead of Systick. | - | - | CubeMx | CubeMx | ||
HAL_TimeBase_TIM |
How to customize HAL using a general-purpose timer as main source of time base instead of Systick. | - | - | CubeMx | CubeMx | ||
HSEM |
HSEM_ProcessSync |
How to use a HW semaphore to synchronize 2 process. | - | - | CubeMx | - | |
HSEM_ReadLock |
How to enable, take then release semaphore using 2 different Process. | - | - | CubeMx | - | ||
I2C |
I2C_TwoBoards_AdvComIT |
How to handle several I2C data buffer transmission/reception between a master and a slave device, using an interrupt. | - | - | CubeMx | - | |
I2C_TwoBoards_ComDMA |
How to handle I2C data buffer transmission/reception between two boards, via DMA. | - | - | CubeMx | CubeMx | ||
I2C_TwoBoards_ComIT |
How to handle I2C data buffer transmission/reception between two boards, using an interrupt. | - | - | CubeMx | CubeMx | ||
I2C_TwoBoards_ComPolling |
How to handle I2C data buffer transmission/reception between two boards, in polling mode. | - | - | CubeMx | - | ||
I2C_TwoBoards_RestartAdvComIT |
How to perform multiple I2C data buffer transmission/reception between two boards, in interrupt mode and with restart condition. | - | - | CubeMx | - | ||
I2C_TwoBoards_RestartComIT |
How to handle single I2C data buffer transmission/reception between two boards, in interrupt mode and with restart condition. | - | - | CubeMx | - | ||
I2C_WakeUpFromStop |
How to handle I2C data buffer transmission/reception between two boards, using an interrupt when the device is in Stop mode. | - | - | CubeMx | - | ||
I2C_WakeUpFromStop2 |
How to handle I2C data buffer transmission/reception between two boards, using an interrupt when the device is in Stop 2 mode. | - | - | CubeMx | - | ||
IWDG |
IWDG_Reset |
How to handle the IWDG reload counter and simulate a software fault that generates an MCU IWDG reset after a preset laps of time. | - | - | CubeMx | - | |
IWDG_WindowMode |
How to periodically update the IWDG reload counter and simulate a software fault that generates an MCU IWDG reset after a preset laps of time. | - | - | CubeMx | CubeMx | ||
LCD |
LCD_SegmentsDrive |
How to drive a LCD Glass using STM32WBxx hal driver. | - | - | CubeMx | - | |
LPTIM |
LPTIM_PWMExternalClock |
How to configure and use, through the HAL LPTIM API, the LPTIM peripheral using an external counter clock, to generate a PWM signal at the lowest power consumption. | - | - | CubeMx | CubeMx | |
LPTIM_PWM_LSE |
How to configure and use, through the HAL LPTIM API, the LPTIM peripheral using LSE as counter clock, to generate a PWM signal, in a low-power mode. | - | - | CubeMx | - | ||
LPTIM_PulseCounter |
How to configure and use, through the LPTIM HAL API, the LPTIM peripheral to count pulses. | - | - | CubeMx | CubeMx | ||
LPTIM_Timeout |
How to implement, through the HAL LPTIM API, a timeout with the LPTIMER peripheral, to wake up the system from a low-power mode. | - | - | CubeMx | - | ||
PKA |
PKA_ECCscalarMultiplication |
How to use the PKA peripheral to execute ECC scalar multiplication. This allows generating a public key from a private key. | - | - | CubeMx | - | |
PKA_ECCscalarMultiplication_IT |
How to use the PKA peripheral to execute ECC scalar multiplication. This allows generating a public key from a private key in interrupt mode. | - | - | CubeMx | - | ||
PKA_ECDSA_Sign |
How to compute a signed message regarding the Elliptic curve digital signature algorithm (ECDSA). | - | - | CubeMx | CubeMx | ||
PKA_ECDSA_Sign_IT |
How to compute a signed message regarding the Elliptic curve digital signature algorithm (ECDSA) in interrupt mode. | - | - | CubeMx | - | ||
PKA_ECDSA_Verify |
How to determine if a given signature is valid regarding the Elliptic curve digital signature algorithm (ECDSA). | - | - | CubeMx | - | ||
PKA_ECDSA_Verify_IT |
How to determine if a given signature is valid regarding the Elliptic curve digital signature algorithm (ECDSA) in interrupt mode. | - | - | CubeMx | CubeMx | ||
PKA_ModularExponentiation |
How to use the PKA peripheral to execute modular exponentiation. This allows ciphering/deciphering a text. | - | - | CubeMx | - | ||
PKA_ModularExponentiationCRT |
How to compute the Chinese Remainder Theorem (CRT) optimization. | - | - | CubeMx | - | ||
PKA_ModularExponentiationCRT_IT |
How to compute the Chinese Remainder Theorem (CRT) optimization in interrupt mode. | - | - | CubeMx | - | ||
PKA_ModularExponentiation_IT |
How to use the PKA peripheral to execute modular exponentiation. This allows ciphering/deciphering a text in interrupt mode. | - | - | CubeMx | - | ||
PKA_PointCheck |
How to use the PKA peripheral to determine if a point is on a curve. This allows validating an external public key. | - | - | CubeMx | - | ||
PKA_PointCheck_IT |
How to use the PKA peripheral to determine if a point is on a curve. This allows validating an external public key. | - | - | CubeMx | - | ||
PWR |
PWR_LPRUN |
How to enter and exit the Low-power run mode. | - | - | CubeMx | CubeMx | |
PWR_LPSLEEP |
How to enter the Low-power sleep mode and wake up from this mode by using an interrupt. | - | - | CubeMx | CubeMx | ||
PWR_PVD |
How to configure the programmable voltage detector by using an external interrupt line. External DC supply must be used to supply Vdd. | - | - | CubeMx | CubeMx | ||
PWR_STANDBY_RTC |
How to enter the Standby mode and wake-up from this mode by using an external reset or the RTC wakeup timer. | - | - | CubeMx | CubeMx | ||
PWR_STOP2_RTC |
How to enter the Stop 2 mode and wake-up from this mode using an external reset or RTC wakeup timer. | - | - | CubeMx | - | ||
QSPI |
QSPI_ExecuteInPlace |
This example describes how to execute a part of the code from the QSPI memory. To do this, a section is created where the function is stored. | CubeMx | - | CubeMx | - | |
QSPI_MemoryMapped |
This example describes how to erase part of the QSPI memory, write data in DMA mode and access to QSPI memory in memory-mapped mode to check the data in a forever loop. | CubeMx | - | CubeMx | - | ||
QSPI_ReadWrite_DMA |
This example describes how to erase part of the QSPI memory, write data in DMA mode, read data in DMA mode and compare the result in a forever loop. | CubeMx | - | CubeMx | - | ||
QSPI_ReadWrite_IT |
This example describes how to erase part of the QSPI memory, write data in IT mode, read data in IT mode and compare the result in a forever loop. | CubeMx | - | CubeMx | - | ||
RCC |
RCC_CRS_Synchronization_IT |
Configuration of the clock recovery service (CRS) in Interrupt mode, using the RCC HAL API. | - | - | CubeMx | - | |
RCC_CRS_Synchronization_Polling |
Configuration of the clock recovery service (CRS) in Polling mode, using the RCC HAL API. | - | - | CubeMx | - | ||
RCC_ClockConfig |
The main purpose of this example is to serve as a reference for clock configuration operation needed by most of the BLE applications. | CubeMx | - | CubeMx | CubeMx | ||
RNG |
RNG_MultiRNG |
Configuration of the RNG using the HAL API. This example uses the RNG to generate 32-bit long random numbers. | - | - | CubeMx | CubeMx | |
RNG_MultiRNG_IT |
Configuration of the RNG using the HAL API. This example uses RNG interrupts to generate 32-bit long random numbers. | - | - | CubeMx | - | ||
RTC |
RTC_Alarm |
Configuration and generation of an RTC alarm using the RTC HAL API. | - | - | CubeMx | CubeMx | |
RTC_Calendar |
Configuration of the calendar using the RTC HAL API. | - | - | CubeMx | - | ||
RTC_LSI |
Use of the LSI clock source autocalibration to get a precise RTC clock. | - | - | CubeMx | - | ||
RTC_Tamper |
Configuration of the RTC HAL API to write/read data to/from RTC Backup registers. | - | - | CubeMx | CubeMx | ||
RTC_TimeStamp |
Configuration of the RTC HAL API to demonstrate the timestamp feature. | - | - | CubeMx | - | ||
SAI |
SAI_AudioPlay |
Use of the SAI HAL API to play an audio file in DMA circular mode and handle the buffer update. Refer to Projects\STM32WB5MM-DK\Examples\BSP. | X | - | - | - | |
SPI |
SPI_FullDuplex_ComDMA_Master |
Data buffer transmission/reception between two boards via SPI using DMA. | - | - | CubeMx | CubeMx | |
SPI_FullDuplex_ComDMA_Slave |
Data buffer transmission/reception between two boards via SPI using DMA. | - | - | CubeMx | CubeMx | ||
SPI_FullDuplex_ComIT_Master |
Data buffer transmission/reception between two boards via SPI using Interrupt mode. | - | - | CubeMx | - | ||
SPI_FullDuplex_ComIT_Slave |
Data buffer transmission/reception between two boards via SPI using Interrupt mode. | - | - | CubeMx | - | ||
SPI_FullDuplex_ComPolling_Master |
Data buffer transmission/reception between two boards via SPI using Polling mode. | - | - | CubeMx | - | ||
SPI_FullDuplex_ComPolling_Slave |
Data buffer transmission/reception between two boards via SPI using Polling mode. | - | - | CubeMx | - | ||
TIM |
TIM_DMA |
Use of the DMA with TIMER Update request to transfer data from memory to TIMER Capture Compare Register 3 (TIMx_CCR3). | - | - | CubeMx | - | |
TIM_DMABurst |
How to update the TIMER channel 1 period and duty cycle using the TIMER DMA burst feature. | - | - | CubeMx | - | ||
TIM_InputCapture |
How to use the TIM peripheral to measure an external signal frequency. | - | - | CubeMx | - | ||
TIM_OCActive |
Configuration of the TIM peripheral in Output Compare Active mode (when the counter matches the capture/compare register, the corresponding output pin is set to its active state). | - | - | CubeMx | CubeMx | ||
TIM_OCInactive |
Configuration of the TIM peripheral in Output Compare Inactive mode with the corresponding Interrupt requests for each channel. | - | - | CubeMx | - | ||
TIM_OCToggle |
Configuration of the TIM peripheral to generate four different signals at four different frequencies. | - | - | CubeMx | - | ||
TIM_OnePulse |
Use of the TIM peripheral to generate a single pulse when an external signal rising edge is received on the timer input pin. | - | - | X | - | ||
TIM_PWMInput |
How to use the TIM peripheral to measure the frequency and duty cycle of an external signal. | - | - | CubeMx | CubeMx | ||
TIM_PWMOutput |
This example shows how to configure the TIM peripheral in PWM (Pulse Width Modulation) mode. | - | - | CubeMx | CubeMx | ||
TIM_TimeBase |
This example shows how to configure the TIM peripheral to generate a time base of one second with the corresponding Interrupt request. | - | - | CubeMx | - | ||
TSC |
TSC_BasicAcquisition_Interrupt |
Use of the TSC HAL API to perform continuous acquisitions of one channel in Interrupt mode. | - | - | X | - | |
UART |
UART_Console |
UART transmission (printf/getchar) via console with user interaction. | CubeMx | - | CubeMx | - | |
UART_HyperTerminal_DMA |
UART transmission (transmit/receive) in DMA mode between a board and an HyperTerminal PC application. | - | - | CubeMx | CubeMx | ||
UART_HyperTerminal_IT |
UART transmission (transmit/receive) in Interrupt mode between a board and an HyperTerminal PC application. | - | - | CubeMx | CubeMx | ||
UART_Printf |
Re-routing of the C library printf function to the UART. | - | - | CubeMx | CubeMx | ||
UART_ReceptionToIdle_CircularDMA |
How to use the HAL UART API for reception to IDLE event in circular DMA mode. | - | - | CubeMx | - | ||
UART_TwoBoards_ComDMA |
UART transmission (transmit/receive) in DMA mode between two boards. | - | - | CubeMx | - | ||
UART_TwoBoards_ComIT |
UART transmission (transmit/receive) in Interrupt mode between two boards. | - | - | CubeMx | - | ||
UART_TwoBoards_ComPolling |
UART transmission (transmit/receive) in Polling mode between two boards. | - | - | CubeMx | - | ||
WWDG |
WWDG_Example |
Configuration of the HAL API to periodically update the WWDG counter and simulate a software fault that generates an MCU WWDG reset when a predefined time period has elapsed. | - | - | CubeMx | CubeMx | |
| Total number of examples: 151 | 8 | 1 | 100 | 42 | |||
Examples_LL |
ADC |
ADC_AnalogWatchdog_Init |
How to use an ADC peripheral with an ADC analog watchdog to monitor a channel and detect when the corresponding conversion data is outside the window thresholds. | - | - | CubeMx | - |
ADC_ContinuousConversion_TriggerSW |
How to use an ADC peripheral to perform continuous ADC conversions on a channel, from a software start. | - | - | X | - | ||
ADC_ContinuousConversion_TriggerSW_Init |
How to use an ADC peripheral to perform continuous ADC conversions on a channel, from a software start. | - | - | CubeMx | - | ||
ADC_ContinuousConversion_TriggerSW_LowPower_Init |
How to use an ADC peripheral with ADC low-power features. | - | - | CubeMx | - | ||
ADC_GroupsRegularInjected_Init |
How to use an ADC peripheral with both ADC groups (regular and injected) in their intended use cases. | - | - | CubeMx | - | ||
ADC_MultiChannelSingleConversion_Init |
How to use an ADC peripheral to convert several channels. ADC conversions are performed successively in a scan sequence. | - | - | - | CubeMx | ||
ADC_Oversampling_Init |
How to use an ADC peripheral with ADC oversampling. | - | - | CubeMx | - | ||
ADC_SingleConversion_TriggerSW_DMA_Init |
How to use an ADC peripheral to perform a single ADC conversion on a channel, at each software start. This example uses the DMA programming model (for polling or interrupt programming models, refer to other examples). | - | - | CubeMx | - | ||
ADC_SingleConversion_TriggerSW_IT_Init |
How to use an ADC peripheral to perform a single ADC conversion on a channel, at each software start. This example uses the interrupt programming model (for polling or DMA programming models, please refer to other examples). | - | - | CubeMx | CubeMx | ||
ADC_SingleConversion_TriggerSW_Init |
How to use an ADC peripheral to perform a single ADC conversion on a channel at each software start. This example uses the polling programming model (for interrupt or DMA programming models, please refer to other examples). | - | - | CubeMx | - | ||
ADC_SingleConversion_TriggerTimer_DMA_Init |
How to use an ADC peripheral to perform a single ADC conversion on a channel at each trigger event from a timer. Converted data is indefinitely transferred by DMA into a table (circular mode). | - | - | CubeMx | CubeMx | ||
ADC_TemperatureSensor |
How to use an ADC peripheral to perform a single ADC conversion on the internal temperature sensor and calculate the temperature in degrees Celsius. | - | - | X | - | ||
COMP |
COMP_CompareGpioVsVrefInt_IT |
How to use a comparator peripheral to compare a voltage level applied on a GPIO pin to the internal voltage reference (VREFINT), in interrupt mode. This example is based on the STM32WBxx COMP LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | X | - | |
COMP_CompareGpioVsVrefInt_IT_Init |
How to use a comparator peripheral to compare a voltage level applied on a GPIO pin to the the internal voltage reference (VREFINT), in interrupt mode. This example is based on the STM32WBxx COMP LL API. The peripheral initialization uses the LL initialization function to demonstrate LL init usage. | - | - | CubeMx | - | ||
COMP_CompareGpioVsVrefInt_OutputGpio_Init |
How to use a comparator peripheral to compare a voltage level applied on a GPIO pin to the internal voltage reference (VREFINT). The comparator output is connected to a GPIO. This example is based on the STM32WBxx COMP LL API. | - | - | CubeMx | - | ||
COMP_CompareGpioVsVrefInt_Window_IT_Init |
How to use a pair of comparator peripherals to compare a voltage level applied on a GPIO pin to two thresholds: the internal voltage reference (VREFINT) and a fraction of the internal voltage reference (VREFINT/2), in interrupt mode. This example is based on the STM32WBxx COMP LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
CORTEX |
CORTEX_MPU |
Presentation of the MPU feature. This example configures a memory area as privileged read-only, and attempts to perform read and write operations in different modes. | - | - | CubeMx | - | |
CRC |
CRC_CalculateAndCheck |
How to configure the CRC calculation unit to compute a CRC code for a given data buffer, based on a fixed generator polynomial (default value 0x4C11DB7). The peripheral initialization is done using LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | CubeMx | |
CRC_UserDefinedPolynomial |
How to configure and use the CRC calculation unit to compute an 8-bit CRC code for a given data buffer, based on a user-defined generating polynomial. The peripheral initialization is done using LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
CRS |
CRS_Synchronization_IT |
How to configure the clock recovery service in IT mode through the STM32WBxx CRS LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | |
CRS_Synchronization_Polling |
How to configure the clock recovery service in polling mode through the STM32WBxx CRS LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
DMA |
DMA_CopyFromFlashToMemory |
How to use a DMA channel to transfer a word data buffer from Flash memory to embedded SRAM. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | X | - | |
DMA_CopyFromFlashToMemory_Init |
How to use a DMA channel to transfer a word data buffer from Flash memory to embedded SRAM. The peripheral initialization uses LL initialization functions to demonstrate LL init usage. | - | - | CubeMx | CubeMx | ||
EXTI |
EXTI_ToggleLedOnIT |
How to configure the EXTI and use GPIOs to toggle the user LEDs available on the board when a user button is pressed. It is based on the STM32WBxx LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | X | - | |
EXTI_ToggleLedOnIT_Init |
This example describes how to configure the EXTI and use GPIOs to toggle the user LEDs available on the board when a user button is pressed. This example is based on the STM32WBxx LL API. Peripheral initialization is done using LL initialization function to demonstrate LL init usage. | - | - | CubeMx | CubeMx | ||
GPIO |
GPIO_InfiniteLedToggling |
How to configure and use GPIOs to toggle the on-board user LEDs every 250 ms. This example is based on the STM32WBxx LL API. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | X | - | |
GPIO_InfiniteLedToggling_Init |
How to configure and use GPIOs to toggle the on-board user LEDs every 250 ms. This example is based on the STM32WBxx LL API. The peripheral is initialized with LL initialization function to demonstrate LL init usage. | - | - | CubeMx | CubeMx | ||
HSEM |
HSEM_DualProcess |
How to use the low-layer HSEM API to initialize, lock, and unlock hardware semaphore in the context of two processes accessing the same resource. | - | - | CubeMx | - | |
HSEM_DualProcess_IT |
How to use the low-layer HSEM API to initialize, lock, and unlock hardware semaphore in the context of two processes accessing the same resource. | - | - | CubeMx | CubeMx | ||
I2C |
I2C_OneBoard_AdvCommunication_DMAAndIT_Init |
How to exchange data between an I2C master device in DMA mode and an I2C slave device in interrupt mode. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | CubeMx | - | |
I2C_OneBoard_Communication_DMAAndIT_Init |
How to transmit data bytes from an I2C master device using DMA mode to an I2C slave device using interrupt mode. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | CubeMx | - | ||
I2C_OneBoard_Communication_IT |
How to handle the reception of one data byte from an I2C slave device by an I2C master device. Both devices operate in interrupt mode. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | X | - | ||
I2C_OneBoard_Communication_IT_Init |
How to handle the reception of one data byte from an I2C slave device by an I2C master device. Both devices operate in interrupt mode. The peripheral is initialized with LL initialization function to demonstrate LL init usage. | - | - | CubeMx | - | ||
I2C_OneBoard_Communication_PollingAndIT_Init |
How to transmit data bytes from an I2C master device using polling mode to an I2C slave device using interrupt mode. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | CubeMx | - | ||
I2C_TwoBoards_MasterRx_SlaveTx_IT_Init |
How to handle the reception of one data byte from an I2C slave device by an I2C master device. Both devices operate in interrupt mode. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | CubeMx | CubeMx | ||
I2C_TwoBoards_MasterTx_SlaveRx_DMA_Init |
How to transmit data bytes from an I2C master device using DMA mode to an I2C slave device using DMA mode. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | CubeMx | CubeMx | ||
I2C_TwoBoards_MasterTx_SlaveRx_Init |
How to transmit data bytes from an I2C master device using polling mode to an I2C slave device using interrupt mode. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | CubeMx | - | ||
I2C_TwoBoards_WakeUpFromStop2_IT_Init |
How to handle the reception of a data byte from an I2C slave device in Stop 2 mode by an I2C master device, both using interrupt mode. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | CubeMx | - | ||
I2C_TwoBoards_WakeUpFromStop_IT_Init |
How to handle the reception of a data byte from an I2C slave device in Stop 1 mode by an I2C master device, both using interrupt mode. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | CubeMx | - | ||
IWDG |
IWDG_RefreshUntilUserEvent_Init |
How to configure the IWDG peripheral to ensure periodical counter update and generate an MCU IWDG reset when a User push-button (SW1) is pressed. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | CubeMx | CubeMx | |
LPTIM |
LPTIM_PulseCounter |
How to use the LPTIM peripheral in counter mode to generate a PWM output signal and update its duty cycle. This example is based on the STM32WBxx LPTIM LL API. The peripheral is initialized with LL unitary service functions to optimize for performance and size. | - | - | X | - | |
LPTIM_PulseCounter_Init |
How to use the LPTIM peripheral in counter mode to generate a PWM output signal and update its duty cycle. This example is based on the STM32WBxx LPTIM LL API. The peripheral is initialized with LL initialization function to demonstrate LL init usage. | - | - | CubeMx | CubeMx | ||
LPUART |
LPUART_WakeUpFromStop2_Init |
Configuration of GPIO and LPUART peripherals to allow characters received on LPUART_RX pin to wake up the MCU from low-power mode. This example is based on the LPUART LL API. The peripheral initialization uses LL initialization function to demonstrate LL init usage. | - | - | CubeMx | - | |
LPUART_WakeUpFromStop_Init |
Configuration of GPIO and LPUART peripherals to allow characters received on LPUART_RX pin to wake up the MCU from low-power mode. This example is based on the LPUART LL API. The peripheral initialization uses LL initialization function to demonstrate LL init usage. | - | - | CubeMx | CubeMx | ||
PKA |
PKA_ECDSA_Sign |
How to use the low-layer PKA API to generate an ECDSA signature. | - | - | CubeMx | CubeMx | |
PKA_ModularExponentiation |
How to use the low-layer PKA API to execute RSA modular exponentiation. | - | - | CubeMx | - | ||
PWR |
PWR_EnterStandbyMode |
How to enter the Standby mode and wake up from this mode by using an external reset or a wakeup interrupt. | - | - | CubeMx | CubeMx | |
PWR_EnterStopMode |
How to enter the Stop 2 mode. | - | - | CubeMx | CubeMx | ||
PWR_OptimizedRunMode |
How to increase/decrease frequency and VCORE and how to enter/exit the Low-power run mode. | - | - | CubeMx | CubeMx | ||
PWR_SMPS_16MHZ_HSI |
This example shows how to use power converters of STM32WB (SMPS, LDO and LP-LDO) depending on Vdd voltage and low-power mode. | - | - | CubeMx | - | ||
PWR_SMPS_64MHZ_MSI_PLL |
This example shows how to use power converters of STM32WB (SMPS, LDO and LP-LDO) depending on Vdd voltage and low-power mode. | - | - | CubeMx | - | ||
RCC |
RCC_HWAutoMSICalibration |
Use of the MSI clock source hardware autocalibration and LSE clock (PLL mode) to obtain a precise MSI clock. | - | - | CubeMx | - | |
RCC_OutputSystemClockOnMCO |
Configuration of MCO pin (PA8) to output the system clock. | - | - | CubeMx | - | ||
RCC_UseHSEasSystemClock |
Use of the RCC LL API to start the HSE and use it as system clock. | - | - | CubeMx | - | ||
RCC_UseHSI_PLLasSystemClock |
Modification of the PLL parameters in run time. | - | - | CubeMx | CubeMx | ||
RNG |
RNG_GenerateRandomNumbers |
Configuration of the RNG to generate 32-bit long random numbers. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | |
RNG_GenerateRandomNumbers_IT |
Configuration of the RNG to generate 32-bit long random numbers using interrupts. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | CubeMx | ||
RTC |
RTC_Alarm |
Configuration of the RTC LL API to configure and generate an alarm using the RTC peripheral. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | X | - | |
RTC_Alarm_Init |
Configuration of the RTC LL API to configure and generate an alarm using the RTC peripheral. The peripheral initialization uses the LL initialization function. | - | - | CubeMx | - | ||
RTC_Calendar_Init |
Configuration of the LL API to set the RTC calendar. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
RTC_ExitStandbyWithWakeUpTimer_Init |
Configuration of the RTC to wake up from Standby mode using the RTC Wakeup timer. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
RTC_Tamper_Init |
Configuration of the Tamper using the RTC LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
RTC_TimeStamp_Init |
Configuration of the Timestamp using the RTC LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
SPI |
SPI_OneBoard_HalfDuplex_DMA |
Configuration of GPIO and SPI peripherals to transmit bytes from an SPI Master device to an SPI Slave device in DMA mode. This example is based on the STM32WBxx SPI LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | X | - | |
SPI_OneBoard_HalfDuplex_DMA_Init |
Configuration of GPIO and SPI peripherals to transmit bytes from an SPI Master device to an SPI Slave device in DMA mode. This example is based on the STM32WBxx SPI LL API. The peripheral initialization uses the LL initialization function to demonstrate LL init usage. | - | - | CubeMx | - | ||
SPI_OneBoard_HalfDuplex_IT_Init |
Configuration of GPIO and SPI peripherals to transmit bytes from an SPI Master device to an SPI Slave device in Interrupt mode. This example is based on the STM32WBxx SPI LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
SPI_TwoBoards_FullDuplex_DMA_Master_Init |
Data buffer transmission and receptionvia SPI using DMA mode. This example is based on the STM32WBxx SPI LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | CubeMx | ||
SPI_TwoBoards_FullDuplex_DMA_Slave_Init |
Data buffer transmission and receptionvia SPI using DMA mode. This example is based on the STM32WBxx SPI LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | CubeMx | ||
SPI_TwoBoards_FullDuplex_IT_Master_Init |
Data buffer transmission and receptionvia SPI using Interrupt mode. This example is based on the STM32WBxx SPI LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
SPI_TwoBoards_FullDuplex_IT_Slave_Init |
Data buffer transmission and receptionvia SPI using Interrupt mode. This example is based on the STM32WBxx SPI LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
TIM |
TIM_BreakAndDeadtime |
Configuration of the TIM peripheral to generate three center-aligned PWM and complementary PWM signals, insert a defined deadtime value, use the break feature, and lock the break and dead-time configuration. | - | - | X | - | |
TIM_DMA_Init |
Use of the DMA with a timer update request to transfer data from memory to Timer Capture Compare Register 3 (TIMx_CCR3). This example is based on the STM32WBxx TIM LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
TIM_InputCapture_Init |
Use of the TIM peripheral to measure a periodic signal frequency provided either by an external signal generator or by another timer instance. This example is based on the STM32WBxx TIM LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
TIM_OnePulse |
Configuration of a timer to generate a positive pulse in Output Compare mode with a length of tPULSE and after a delay of tDELAY. This example is based on the STM32WBxx TIM LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | X | - | ||
TIM_OutputCompare_Init |
Configuration of the TIM peripheral to generate an output waveform in different output compare modes. This example is based on the STM32WBxx TIM LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | - | ||
TIM_PWMOutput |
Use of a timer peripheral to generate a PWM output signal and update the PWM duty cycle. This example is based on the STM32WBxx TIM LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | X | - | ||
TIM_PWMOutput_Init |
Use of a timer peripheral to generate a PWM output signal and update the PWM duty cycle. This example is based on the STM32WBxx TIM LL API. The peripheral initialization uses LL initialization function to demonstrate LL Init. | - | - | CubeMx | - | ||
TIM_TimeBase_Init |
Configuration of the TIM peripheral to generate a timebase. This example is based on the STM32WBxx TIM LL API. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | CubeMx | ||
USART |
USART_Communication_Rx_IT |
Configuration of GPIO and USART peripherals to receive characters from an HyperTerminal (PC) in Asynchronous mode using an interrupt. The peripheral initialization uses LL unitary service functions for optimization purposes (performance and size). | - | - | X | - | |
USART_Communication_Rx_IT_Continuous_Init |
This example shows how to configure GPIO and USART peripheral for continuously receiving characters from HyperTerminal (PC) in Asynchronous mode using Interrupt mode. Peripheral initialization is done using LL unitary services functions for optimization purpose (performance and size). | - | - | CubeMx | - | ||
USART_Communication_Rx_IT_Continuous_VCP_Init |
This example shows how to configure GPIO and USART peripheral for continuously receiving characters from HyperTerminal (PC) in Asynchronous mode using Interrupt mode. Peripheral initialization is done using LL unitary services functions for optimization purpose (performance and size). | - | - | CubeMx | - | ||
USART_Communication_Rx_IT_Init |
This example shows how to configure GPIO and USART peripheral for receiving characters from HyperTerminal (PC) in Asynchronous mode using Interrupt mode. Peripheral initialization is done using LL initialization function to demonstrate LL init usage. | - | - | CubeMx | CubeMx | ||
USART_Communication_Rx_IT_VCP_Init |
This example shows how to configure GPIO and USART peripheral for receiving characters from HyperTerminal (PC) in Asynchronous mode using Interrupt mode. Peripheral initialization is done using LL initialization function to demonstrate LL init usage. | - | - | CubeMx | - | ||
USART_Communication_TxRx_DMA_Init |
This example shows how to configure GPIO and USART peripheral to send characters asynchronously to/from an HyperTerminal (PC) in DMA mode. This example is based on STM32WBxx USART LL API. Peripheral initialization is done using LL unitary services functions for optimization purpose (performance and size). | - | - | CubeMx | - | ||
USART_Communication_Tx_IT_Init |
This example shows how to configure GPIO and USART peripheral to send characters asynchronously to HyperTerminal (PC) in Interrupt mode. This example is based on STM32WBxx USART LL API. Peripheral initialization is done using LL unitary services functions for optimization purpose (performance and size). | - | - | CubeMx | - | ||
USART_Communication_Tx_IT_VCP_Init |
This example shows how to configure GPIO and USART peripheral to send characters asynchronously to HyperTerminal (PC) in Interrupt mode. This example is based on STM32WBxx USART LL API. Peripheral initialization is done using LL unitary services functions for optimization purpose (performance and size). | - | - | CubeMx | - | ||
USART_Communication_Tx_Init |
This example shows how to configure GPIO and USART peripherals to send characters asynchronously to an HyperTerminal (PC) in Polling mode. If the transfer could not be completed within the allocated time, a timeout allows to exit from the sequence with a Timeout error code. This example is based on STM32WBxx USART LL API. Peripheral initialization is done using LL unitary services functions for optimization purpose (performance and size). | - | - | CubeMx | CubeMx | ||
USART_Communication_Tx_VCP_Init |
This example shows how to configure GPIO and USART peripherals to send characters asynchronously to an HyperTerminal (PC) in Polling mode. If the transfer could not be completed within the allocated time, a timeout allows to exit from the sequence with a Timeout error code. This example is based on STM32WBxx USART LL API. Peripheral initialization is done using LL unitary services functions for optimization purpose (performance and size). | - | - | CubeMx | - | ||
USART_WakeUpFromStop1_Init |
Configuration of GPIO and USART1 peripherals to allow the characters received on USART_RX pin to wake up the MCU from low-power mode. | - | - | CubeMx | - | ||
USART_WakeUpFromStop_Init |
Configuration of GPIO and USART1 peripherals to allow the characters received on USART_RX pin to wake up the MCU from low-power mode. | - | - | CubeMx | - | ||
UTILS |
UTILS_ConfigureSystemClock |
Use of UTILS LL API to configure the system clock using PLL with HSI as source clock. | - | - | CubeMx | - | |
UTILS_ReadDeviceInfo |
This example reads the UID, Device ID and Revision ID and saves them into a global information buffer. | - | - | CubeMx | CubeMx | ||
WWDG |
WWDG_RefreshUntilUserEvent_Init |
Configuration of the WWDG to periodically update the counter and generate an MCU WWDG reset when a user button is pressed. The peripheral initialization uses the LL unitary service functions for optimization purposes (performance and size). | - | - | CubeMx | CubeMx | |
| Total number of examples_ll: 118 | 0 | 0 | 92 | 26 | |||
Examples_MIX |
ADC |
ADC_SingleConversion_TriggerSW_IT |
How to use the ADC to perform a single ADC channel conversion at each software start. This example uses the interrupt programming model (for polling and DMA programming models, please refer to other examples). It is based on the STM32WBxx ADC HAL and LL API. The LL API is used for performance improvement. | - | - | CubeMx | - |
CRC |
CRC_PolynomialUpdate |
How to use the CRC peripheral through the STM32WBxx CRC HAL and LL API. | - | - | CubeMx | - | |
DMA |
DMA_FLASHToRAM |
How to use a DMA to transfer a word data buffer from Flash memory to embedded SRAM through the STM32WBxx DMA HAL and LL API. The LL API is used for performance improvement. | - | - | CubeMx | CubeMx | |
I2C |
I2C_OneBoard_ComSlave7_10bits_IT |
How to perform I2C data buffer transmission/reception between one master and two slaves with different address sizes (7-bit or 10-bit). This example uses the STM32WBxx I2C HAL and LL API (LL API usage for performance improvement) and an interrupt. | - | - | CubeMx | - | |
PWR |
PWR_STOP1 |
How to enter the STOP 1 mode and wake up from this mode by using external reset or wakeup interrupt (all the RCC function calls use RCC LL API for minimizing footprint and maximizing performance). | - | - | CubeMx | CubeMx | |
SPI |
SPI_FullDuplex_ComPolling_Master |
Data buffer transmission/reception between two boards via SPI using Polling mode. | - | - | CubeMx | - | |
SPI_FullDuplex_ComPolling_Slave |
Data buffer transmission/reception between two boards via SPI using Polling mode. | - | - | CubeMx | - | ||
SPI_HalfDuplex_ComPollingIT_Master |
Data buffer transmission/reception between two boards via SPI using Polling (LL driver) and Interrupt modes (HAL driver). | - | - | CubeMx | CubeMx | ||
SPI_HalfDuplex_ComPollingIT_Slave |
Data buffer transmission/reception between two boards via SPI using Polling (LL driver) and Interrupt modes (HAL driver). | - | - | CubeMx | CubeMx | ||
TIM |
TIM_PWMInput |
Use of the TIM peripheral to measure an external signal frequency and duty cycle. | - | - | CubeMx | CubeMx | |
UART |
UART_HyperTerminal_IT |
Use of a UART to transmit data (transmit/receive) between a board and an HyperTerminal PC application in Interrupt mode. This example describes how to use the USART peripheral through the STM32WBxx UART HAL and LL API, the LL API being used for performance improvement. | - | - | CubeMx | CubeMx | |
UART_HyperTerminal_TxPolling_RxIT |
Use of a UART to transmit data (transmit/receive) between a board and an HyperTerminal PC application both in Polling and Interrupt modes. This example describes how to use the USART peripheral through the STM32WBxx UART HAL and LL API, the LL API being used for performance improvement. | - | - | CubeMx | - | ||
| Total number of examples_mix: 18 | 0 | 0 | 12 | 6 | |||
Applications |
BLE |
BLE_Beacon |
How to advertize 3 types of beacon ( tlm, uuid, url ). | - | - | CubeMx | - |
BLE_BloodPressure |
How to use the Blood Pressure profile as specified by the BLE SIG. | - | - | CubeMx | - | ||
BLE_CableReplacement |
How to use the Point-to-Point communication using BLE component. | - | - | X | - | ||
BLE_Custom |
This example is to demonstrate that a BLE_Custom application can be created using CubeMX. | - | - | CubeMx | - | ||
BLE_DataThroughput |
How to use data throughput via notification from server to client using BLE component. | - | - | X | X | ||
BLE_HealthThermometer |
How to use the Health Thermometer profile as specified by the BLE SIG. | - | - | CubeMx | - | ||
BLE_HeartRate |
How to use the Heart Rate profile as specified by the BLE SIG. | X | X | CubeMx | CubeMx | ||
BLE_HeartRateFreeRTOS |
How to use the Heart Rate profile as specified by the BLE SIG with FreeRTOS. | - | - | CubeMx | - | ||
BLE_HeartRateFreeRTOS_ANCS |
How to read notifications from Apple Notification Center Service (ANCS) as specified by Apple specification and use the Heart Rate profile as specified by the BLE SIG with FreeRTOS. | - | - | X | - | ||
BLE_HeartRate_ANCS |
How to read notifications from Apple Notification Center Service (ANCS) as specified by Apple specification and use Heart Rate profile as specified by the BLE SIG. | - | - | X | - | ||
BLE_HeartRate_ota |
How to use the Heart Rate profile as specified by the BLE SIG to be downloaded with BLE OTA application. | - | - | X | X | ||
BLE_Hid |
How to use the Human Interface Device profile as specified by the BLE SIG. | - | - | X | - | ||
BLE_MeshLightingLPN |
This is the implementation of the BLE Mesh Low Power Node profile as specified by the BLE SIG. | - | X | X | - | ||
BLE_MeshLightingPRFNode |
This is the implementation of the BLE Mesh Lighting profile as specified by the BLE SIG. | - | X | X | - | ||
BLE_MeshLightingProvisioner |
This is the implementation of the BLE Mesh Lighting profile as specified by the BLE SIG. | - | - | X | - | ||
BLE_Mesh_ThermometerSensor |
This is the implementation of a BLE Mesh Vendor profile as specified by the BLE SIG. | X | - | - | - | ||
BLE_MultiAppAt |
How to use multi BLE applications using a network processor architecture. | - | - | X | - | ||
BLE_Ota |
OTA implementation to download a new image into the user flash. | - | - | X | X | ||
BLE_Peripheral_Lite |
How to communicate with simple BLE peripheral with minimum activated features. | - | - | X | - | ||
BLE_Peripheral_Lite_EventCallbacks |
How to communicate with simple BLE peripheral with minimum activated features. | - | - | X | - | ||
BLE_Proximity |
How to use the Proximity profile as specified by the BLE SIG. | - | - | X | - | ||
BLE_RfWithFlash |
How to demonstrate the capability to erase/write the flash while a Point-to-Point communication using BLE component is active. | - | - | X | - | ||
BLE_Sensor |
This example is to demonstrate capabilities of STM32WB5MM Discovery Kit with the use of board sensors. | X | - | - | - | ||
BLE_TransparentMode |
How to communicate with the STM32CubeMonitor-RF Tool using the transparent mode. | X | - | CubeMx | CubeMx | ||
BLE_TransparentModeVCP |
How to communicate with the STM32CubeMonitor-RF Tool using the transparent mode. | - | X | - | - | ||
BLE_p2pClient |
How to demonstrate Point-to-Point communication using BLE component (as GATT client). | - | X | CubeMx | CubeMx | ||
BLE_p2pRouteur |
This example is to demonstrate Multipoint communication using BLE component. | - | X | CubeMx | - | ||
BLE_p2pServer |
How to demonstrate Point-to-Point communication using BLE component (as GATT server). | X | X | CubeMx | CubeMx | ||
BLE_p2pServer_ota |
How to demonstrate Point-to-Point communication using BLE component (peripherical as GATT server) to be downloaded with BLE OTA application. | - | - | X | X | ||
BLE_LLD |
BLE_LLD_Chat |
How to create a "Chat" talk between 2 boards using terminals. | X | - | X | X | |
BLE_LLD_Lowpower |
How to send BLE LLD packets while using low power mode. | - | - | X | X | ||
| How to control remote LEDs with BLE LLD. | - | - | X | X | |||
BLE_LLD_Proximity |
How to use BLE LLD to detect nearby boards? This solution can be used in contact tracing for Covid-19 since it provides an estimation of the distance with other boards. | - | - | X | - | ||
BLE_Mac |
BLE_Mac_Static |
How to use BLE application and 802_15_4 Mac application in static concurrent mode. | - | - | X | - | |
BLE_Thread |
Ble_Thread_Dyn |
How to use BLE application and Thread application in dynamic concurrent mode. | - | - | X | - | |
Ble_Thread_Dyn_SED |
How to use BLE application and Thread application (acting as sleep end device) in dynamic concurrent mode. | - | - | X | - | ||
Ble_Thread_Static |
How to use BLE application and Thread application in static concurrent mode. | - | - | X | - | ||
BLE_Zigbee |
BLE_Zigbee_Dyn |
How to use BLE application and Zigbee application (acting as router) in dynamic concurrent mode. | - | - | X | - | |
BLE_Zigbee_Dyn_SED |
How to use BLE application and Zigbee application (acting as sleep end device) in dynamic concurrent mode. | - | - | X | - | ||
BLE_Zigbee_Static |
How to use BLE application and Zigbee application in static concurrent mode. | - | - | X | - | ||
CKS |
CKS_Crypt |
How to use CKS feature to store AES crypto keys in secure area. | - | - | X | - | |
Demontrations |
Audio_BVLINKWB |
This demonstration firmware is based on STM32Cube Function pack for STM32wb MCU featuring full-duplex audio streaming over Bluetooth 5.0 using Opus codec. | X | - | - | - | |
FreeRTOS |
FreeRTOS_Mail |
How to use mail queues with CMSIS RTOS API. | - | - | CubeMx | - | |
FreeRTOS_Mutexes |
How to use mutexes with CMSIS RTOS API. | - | - | CubeMx | CubeMx | ||
FreeRTOS_Queues |
How to use message queues with CMSIS RTOS API. | - | - | CubeMx | - | ||
FreeRTOS_Semaphore |
How to use semaphores with CMSIS RTOS API. | - | - | CubeMx | - | ||
FreeRTOS_SemaphoreFromISR |
How to use semaphore from ISR with CMSIS RTOS API. | - | - | CubeMx | - | ||
FreeRTOS_Signal |
How to perform thread signaling using CMSIS RTOS API. | - | - | CubeMx | - | ||
FreeRTOS_SignalFromISR |
This application shows the usage of CMSIS-OS Signal API from ISR context. | - | - | CubeMx | - | ||
FreeRTOS_ThreadCreation |
How to implement thread creation using CMSIS RTOS API. | - | - | CubeMx | - | ||
FreeRTOS_Timers |
How to use timers of CMSIS RTOS API. | - | - | CubeMx | - | ||
Mac_802_15_4 |
Mac_802_15_4_FFD |
How to use MAC 802.15.4 Association and Data exchange. | - | - | X | - | |
Mac_802_15_4_LPM_Periodic_Transmit |
How to use MAC 802.15.4 data transmission with STOP1 low power mode enabled. | - | - | X | - | ||
Mac_802_15_4_RFD |
How to use MAC 802.15.4 Association and Data exchange. | - | - | X | - | ||
Phy_802_15_4 |
Phy_802_15_4_Cli |
How to create a "PHY_802.15.4 command line interface" application on STM32WB55xx boards using terminals. | - | - | X | - | |
Thread |
Thread_Cli_Cmd |
How to control the Thread stack via Cli commands. | - | X | CubeMx | - | |
Thread_Coap_DataTransfer |
How to transfer large blocks of data through the CoAP messaging protocol. | - | X | CubeMx | - | ||
Thread_Coap_Generic |
How to build Thread application based on Coap messages. | X | X | CubeMx | - | ||
Thread_Coap_Generic_Ota |
How to build Thread application based on Coap messages. | - | - | X | - | ||
Thread_Coap_MultiBoard |
How to use Coap for sending message to multiple boards. | - | - | CubeMx | - | ||
Thread_Coap_Secure |
How to build Thread application based on Coap Secure messages. | - | - | X | - | ||
Thread_Commissioning |
How to use Thread commissioning process. | - | - | CubeMx | - | ||
Thread_FTD_Coap_Multicast |
How to exchange multicast Coap messages. | - | X | CubeMx | - | ||
Thread_Ota |
How to update Over The Air (OTA) FW application and Copro Wireless binary using Thread. | - | - | X | - | ||
Thread_Ota_Server |
How to update Over The Air (OTA) FW application and Copro Wireless binary using Thread. | - | - | X | - | ||
Thread_RCP |
This application is used to demonstrate the OpenThread Border router feature using an STM32WB device. | - | - | X | - | ||
Thread_SED_Coap_FreeRTOS |
How to exchange a Coap message using the Thread protocol. | - | - | CubeMx | - | ||
Thread_SED_Coap_Multicast |
How to exchange a Coap message using the Thread protocol. | - | X | CubeMx | - | ||
Thread_Udp |
How to transfer data using UDP. | - | - | X | - | ||
TouchSensing |
TouchSensing_1touchKey |
Use of the STMTouch driver with 1 touchkey sensor. | - | - | X | - | |
TouchSensing_1touchkey |
Use of the STMTouch driver with 1 touchkey sensor. | CubeMx | - | - | - | ||
USB_Device |
CDC_Standalone |
This application describes how to use USB device application based on the Device Communication Class (CDC) following the PSTN sub-protocol on the STM32WBxx devices. | - | - | CubeMx | - | |
DFU_Standalone |
Compliant implementation of the Device Firmware Upgrade (DFU). | - | CubeMx | CubeMx | - | ||
HID_Standalone |
Use of the USB device application based on the Human Interface (HID). | - | CubeMx | CubeMx | - | ||
Zigbee |
Zigbee_APS_Coord |
How to use the APS layer in an application with a centralized Zigbee network. | - | - | X | - | |
Zigbee_APS_Router |
How to use the APS layer in an application with a centralized Zigbee network. | - | - | X | - | ||
Zigbee_Commissioning_Client_Coord |
How to use Commissioning cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_Commissioning_Server_Router |
How to use Commissioning cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_DevTemp_Client_Router |
How to use DevTemp cluster on a Centralized Zigbee network with device acting as router. | - | - | X | - | ||
Zigbee_DevTemp_Server_Coord |
How to use DevTemp cluster on a Centralized Zigbee network with device acting as server. | - | - | X | - | ||
Zigbee_Diagnostic_Client_Router |
How to use Diagnostic cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_Diagnostic_Server_Coord |
How to use Diagnostic cluster as a server on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_DoorLock_Client_Router |
How to use Door Lock cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_DoorLock_Server_Coord |
How to use Door Lock cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_Find_Bind_Coord |
How to use Finding and Binding on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_Find_Bind_IAS_Router2 |
How to use Finding and Binding on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_Find_Bind_OnOff_Router1 |
How to use Finding and Binding on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_IAS_WD_Client_Router |
How to use IAS WD cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_IAS_WD_Server_Coord |
How to use IAS WD cluster as a server on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_MeterId_Client_Router |
How to use Meter Identification cluster as a client on a centralized Zigbee network. | - | - | CubeMx | - | ||
Zigbee_MeterId_Server_Coord |
How to use Meter Identification cluster as a server on a centralized Zigbee network. | - | X | CubeMx | - | ||
Zigbee_OTA_Client_Router |
How to use OTA cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_OTA_Server_Coord |
How to use OTA cluster as a server on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_OnOff_Client_Distrib |
How to use OnOff cluster as a client on a distributed Zigbee network. | - | - | CubeMx | - | ||
Zigbee_OnOff_Client_Router |
How to use OnOff cluster as a client on a centralized Zigbee network. | X | X | CubeMx | - | ||
Zigbee_OnOff_Client_Router_FreeRTOS |
How to use OnOff cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_OnOff_Client_Router_Ota |
How to use OnOff cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_OnOff_Client_SED |
How to use OnOff cluster as a client on a centralized Zigbee network. | - | - | CubeMx | - | ||
Zigbee_OnOff_Coord_NVM |
How to use OnOff cluster with persistent data on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_OnOff_Router_NVM |
How to use OnOff cluster with persistent data on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_OnOff_Server_Coord |
How to use OnOff cluster as a server on a centralized Zigbee network. | X | X | CubeMx | - | ||
Zigbee_OnOff_Server_Coord_FreeRTOS |
How to use OnOff cluster as a server on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_OnOff_Server_Distrib |
How to use OnOff cluster as a server on a distributed Zigbee network. | - | - | CubeMx | - | ||
Zigbee_PollControl_Client_Coord |
How to use Poll Control cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_PollControl_Server_SED |
How to use Poll Control cluster as a server on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_PowerProfile_Client_Coord |
How to use Power Profile cluster as a client on a centralized Zigbee network. | - | - | X | - | ||
Zigbee_PowerProfile_Server_Router |
How to use Power Profile cluster as a server on a centralized Zigbee network. | - | X | X | - | ||
Zigbee_PressMeas_Client_Router |
How to use Pressure Measurement cluster on a Centralized Zigbee network with device acting as router. | - | - | X | - | ||
Zigbee_PressMeas_Server_Coord |
How to use Pressure Measurement cluster on a Centralized Zigbee network with device acting as server. | - | - | X | - | ||
Zigbee_SE_Msg_Client_Coord |
How to use SE Messaging cluster on a Centralized Zigbee network with device acting as coordinator (Client). | - | - | X | - | ||
Zigbee_SE_Msg_Server_Router |
How to use SE Messaging cluster on a Centralized Zigbee network with device acting as router (Server). | - | - | X | - | ||
Zigbee_TempMeas_Client_Router |
How to use TempMeas as a client on a centralized Zigbee network. | X | - | - | - | ||
Zigbee_TempMeas_Server_Coord |
How to use Temperature Measurement cluster as a server on a centralized Zigbee network. | X | - | - | - | ||
Zigbee_custom_ls_Client_Router |
How to use Custom long string cluster on a Centralized Zigbee network with device acting as coordinator (Server) The purpose of this application is to show how to create a centralized Zigbee network, and how to communicate from one node to another one using the custom long string cluster. Once the Zigbee mesh network is created, the user can send requests to the different boards through the push buttons in order to make the LED toggling. | - | - | X | - | ||
Zigbee_custom_ls_Server_Coord |
How to use Custom long string cluster on a Centralized Zigbee network with device acting as coordinator (Server) The purpose of this application is to show how to create a centralized Zigbee network, and how to communicate from one node to another one using the custom long string cluster. Once the Zigbee mesh network is created, the user can send requests to the different boards through the push buttons in order to make the LED toggling. | - | - | X | - | ||
| Total number of applications: 151 | 13 | 18 | 108 | 12 | |||
| Total number of projects: 443 | 23 | 19 | 314 | 87 |


Updated on May 20th 2018
In case you you agree with processing of your personal data, mark the "agree" checkbox and submit the form. By submitting the form, your agreement is considered as granted according to the following conditions:
I grant the right to process my personal data to Answer Institute s.r.o., Reg.no.: 06618278, with headquarters at Purkyňova 649/127, Medlánky, 612 00 Brno, listed in business registry at Krajský soud in Brno, section C, inset 102990 (hereinafter controller). By granting the right, I declare that I understand the content of this document, all the conditions and their consequences.
The agreement is granted to the controller for the purpose of the communication between me and the controller. I agree that the controller can send me answers to my questions and insights to my e-mail address (hereinafter purpose).
The agreement entitles the controller to process the following personal data: first name, surname, e-mail address, in the extent necessary to fulfil the abovementioned purposes.
I understand that I have the right to:
I can execute my rights with the controller by sending a written request to the e-mail address<EMAIL_ADDRESS>The personal data processing is performed both manually and automatically by the controller. However, there isn't any automated decision making process or profiling of the personal data.
I understand that the controller is not obliged to name a data processing officer and the controller did not do that on their out of their free will.
I agree that the controller has the right to grant access to my personal data to third parties in cases that are necessary to fulfil the purpose. This means mainly providing the online service and other services. The list of processors is available at www.lumeer.io/information.html. I understand that during granting the access to third parties, it is possible to handover my personal data to another country in European Union and outside of European Union supposing the Privacy Policy is met.
The agreement is valid since the day of granting and is valid for 3 months. The controller has the right to process my personal data in the abovementioned extent for whole period of the duration of this agreement.
In case of any querstions or problems, please contact us at www.lumeer.io/contact.html.


Full list of Golden Globe nominations honor Joker, Irishman, Once Upon a Time ... in Hollywood
Follow Polygon online:
by Petrana RadulovicAwards season is in the air and what better way to kick off the glitz and glamor than by nominating Joker for a Golden Globe.
Joker is nominated in four categories: Best Actor in a Drama, Best Drama, Best Score and Best Director. Notably, Joker shares two nomination slots with The Irishman by Martin Scorsese, who earlier this year threw shade at comic book movies. Looks like we know the Hollywood Foreign Press Association’s feelings on the matter.
Rian Johnson’s wonderful whodunnit Knives Out gets a nomination for Best Comedy, along with Quentin Tarantino’s Hollywood love letter, Once Upon a Time in Hollywood. The Lion King is officially an animated film by the Foreign Press Association’s standards.
On the television front, Game of Thrones gets a nomination for Best Actor with Kit Harrington, with little else to show for it. Instead, some heavy-hitters from The Crown and Succession make the list.
Highlights of the nominees are as follows:
Best Motion Picture — Drama:
1917
The Irishman
Joker
Marriage Story
The Two Popes
Best Motion Picture — Musical or Comedy:
Dolemite is my Name
Knives Out
Jojo Rabbit
Once Upon a Time…in Hollywood
Rocketman
Best Director:
Bong Jong-Hoo, Parasite
Sam Mendes, 1917
Martin Scorsese, The Irishman
Quentin Tarantino, Once Upon a Time…in Hollywood
Todd Phillips, Joker
Lead Actress — Drama:
Cynthia Erivo, Harriet
Scarlett Johansson, Marriage Story
Saoirse Ronan, Little Women
Charlize Theron, Bombshell
Renée Zellweger, Judy
Lead Actor — Drama:
Christian Bale, Ford vs. Ferrari
Antonio Banderas, Pain and Glory
Adam Driver, Marriage Story
Joaquin Phoenix, Joker
Jonathan Pryce, The Two Popes
Lead Actress — Musical or Comedy:
Awkwafina, The Farewell
Cate Blanchett, Where’d You Go Bernadette?
Ana de Armas, Knives Out
Beanie Feldstein, Booksmart
Emma Thompson, Late Night
Lead Actor — Musical or Comedy:
Daniel Craig, Knives Out
Roman Griffin Davis, Jojo Rabbit
Leonardo DiCaprio, Once Upon a Time…in Hollywood
Taron Egerton, Rocketman
Eddie Murphy, Dolemite Is My Name
Supporting Actor:
Tom Hanks, A Beautiful Day in the Neighborhood
Anthony Hopkins, The Two Popes
Al Pacino, The Irishman
Joe Pesci, The Irishman
Brad Pitt, Once Upon a Time…in Hollywood
Supporting Actress:
Kathy Bates, Richard Jewell
Annette Bening, The Report
Laura Dern, Marriage Story
Jennifer Lopez, Hustlers
Margot Robbie, Bombshell
Best Animated Feature:
Frozen II
How to Train Your Dragon: The Hidden World
The Lion KIng
Missing Link
Toy Story 4
Best Screenplay
Marriage Story
Parasite
Once Upon a Time... in Hollywood
The Two Popes
The Irishman
Best Original Song
“Beautiful Ghosts” from Cats
“I’m Gonna Love Me Again” from Rocketman
“Into the Unknown” from Frozen 2
“Spirit” from The Lion King
“Stand Up” from Harriet
Best Score
1917
Little Women
Joker
Marriage Story
Motherless Brooklyn
Foreign Language Film
The Farewell
Les Misérables
Pain and Glory
Parasite
Portrait of a Lady on Fire
Drama Series:
Big Little Lies
Killing Eve
Succession
The Crown
The Morning Show
Comedy Series:
Barry
Fleabag
The Kominsky Method
The Marvelous Mrs. Maisel
The Politician
Lead Actress — Drama Series:
Jennifer Aniston, The Morning Show
Olivia Colman, The Crown
Jodie Comer, Killing Eve
Nicole Kidman, Big Little Lies
Reese Witherspoon, The Morning Show
Lead Actor — Drama Series:
Brian Cox, Succession
Kit Harington, Game of Thrones
Rami Malek, Mr. Robot
Tobias Menzies, The Crown
Billy Porter, Pose
Lead Actress — Comedy Series
Christina Applegate, Dead to Me
Rachel Brosnahan, The Marvelous Mrs. Maisel
Kirsten Dunst, On Becoming a God in Central Florida
Natasha Lyonne, Russian Doll
Phoebe Waller-Bridge, Fleabag
Lead Actor — Comedy Series:
Michael Douglas, The Kominsky Method
Bill Hader, Barry
Ben Platt, The Politician
Paul Rudd, Living With Yourself
Ramy Youssef, Ramy
Television Limited Series or TV Movie
Catch-22
Chernobyl
Fosse/Verdon
The Loudest Voice
Unbelievable
Lead Actress — Limited Series or TV Movie
Michelle Williams, Fosse/Verdon
Helen Mirren, Catherine the Great
Merritt Wever, Unbelievable
Kaitlyn Dever, Unbelievable
Joey King, The Act
Lead Actor — Limited Series or TV Movie
Chris Abbott, Catch 22
Sacha Baron Cohen, The Spy
Russell Crowe, The Loudest Voice
Jared Harris, Chernobyl
Sam Rockwell, Fosse/Verdon
Supporting Actress — Drama Series, Comedy Series, Limited Series or TV Movie
Meryl Streep, Big Little Lies
Helena Bonham Carter, The Crown
Emily Watson, Chernobyl
Patricia Arquette, The Act
Toni Collette, Unbelievable
Supporting Actor— Drama Series, Comedy Series, Limited Series or TV Movie
Alan Arkin, Kominsky Method
Kieran Culkin, Succession
Andrew Scott, Fleabag
Stellan Skarsgård, Chernobyl
Henry Winkler, Barry


Begin forwarded message: From: Tony Rajakumar<EMAIL_ADDRESS>Date: December 4, 2006 2:47:59 PM EST To: "'David Farber'"<EMAIL_ADDRESS>Subject: The Vanishing Click-Fraud Case Reply-To<EMAIL_ADDRESS>Dave – for IP if you wish. An arrested click-fraudster who claimed to make $30k a month via Google click-fraud is now freed because of a possible lack of cooperation from Google. http://yahoo.businessweek.com/technology/content/dec2006/ tc20061204_923336.htm Tony Rajakumar Victrio Inc<EMAIL_ADDRESS>------------------------------------- You are subscribed as R@M To manage your subscription, go to http://v2.listbox.com/member/?listname=ip Archives at: http://www.interesting-people.org/archives/interesting-people/


roomai.texas package¶
Submodules¶
roomai.texas.TexasHoldemAction module¶
-
class
roomai.texas.TexasHoldemAction.
TexasHoldemAction
(key)[source]¶ Bases:
roomai.common.common.AbstractAction
The TexasHoldemAction. The action consists of two parts, namely option and price.
The option is [“Fold”,”Check”,”Call”,”Raise”,”AllIn”], and the price is the chips used by this action.
The TexasHoldemAction has a key “%s_%d”%(option, price) as its identification. Examples of usages:
>> import roomai.TexasHoldem
>> a = roomai.TexasHoldem.TexasHoldemAction.lookup(“Fold_0”)
>> ## We strongly recommend you to get a TexasHoldemAction using the lookup function
>> a.option
“Fold”
>> a.price
0
-
AllIn
= 'Allin'¶
-
Call
= 'Call'¶
-
Check
= 'Check'¶
-
Fold
= 'Fold'¶
-
Raise
= 'Raise'¶
-
key
¶ The key of this action
-
classmethod
lookup
(key)[source]¶ lookup an action with this specified key
Parameters: key – The specified key Returns: The action
-
option
¶ The option of this action
-
price
¶ The price of this action
-
roomai.texas.TexasHoldemEnv module¶
-
class
roomai.texas.TexasHoldemEnv.
TexasHoldemEnv
[source]¶ Bases:
roomai.common.common.AbstractEnv
The TexasHoldem game environment
-
classmethod
available_actions
(public_state, person_state)[source]¶ Generate all valid actions given the public state and the person state
Parameters: - public_state –
- person_state –
Returns: all valid actions
-
classmethod
compete
(env, players)[source]¶ Use the game environment to hold a compete for the players
Parameters: - env – The game environment
- players – The players
Returns: scores for the players
-
forward
(action)[source]¶ The TexasHoldem game environments steps with the action taken by the current player
Parameters: action – The action taken by the current player Returns: infos, public_state, person_states, private_state
-
init
(params={})[source]¶ Initialize the TexasHoldem game environment with the initialization params.
The initialization is a dict with some options
- allcards: the order of all poker cards appearing
- record_history: whether to record all history states. if you need call the backward function, please set it to True. default False
- num_players: how many players are in the game, default 3
- dealer_id: the player id of the dealer, default random
- chips: the initialization chips, default [1000,1000,…]
- big_blind_bet: the number of chips for the big blind bet, default 10
An example of the initialization param is {“num_players”:2,”record_history”:True}
Parameters: params – the initialization params Returns: infos, public_state, person_states, private_state
-
classmethod
roomai.texas.TexasHoldemInfo module¶
-
class
roomai.texas.TexasHoldemInfo.
TexasHoldemPersonState
[source]¶ Bases:
roomai.common.common.AbstractPersonState
-
hand_cards
¶ The hand cards of the corresponding player. It contains two poker cards. For example, hand_cards=[roomai.coomon.PokerCard.lookup(“A_Spade”),roomai.coomon.PokerCard.lookup(“A_Heart”)]
-
-
class
roomai.texas.TexasHoldemInfo.
TexasHoldemPrivateState
[source]¶ Bases:
roomai.common.common.AbstractPrivateState
The private state of TexasHoldem
-
keep_cards
¶ the keep cards
-
-
class
roomai.texas.TexasHoldemInfo.
TexasHoldemPublicState
[source]¶ Bases:
roomai.common.common.AbstractPublicState
The public state of TexasHoldem
-
bets
¶ bets is an array which contains the bets from all players. For example, bets=[50,25,25]
-
big_blind_bet
¶ The big blind bet
-
chips
¶ chips is an array of the chips of all players. For example, chips=[50,50,50]
-
dealer_id
¶ The player id of the dealer. The next player after the dealer is the small blind. The next player after the small blind is the big blind.
-
is_allin
¶ is_allin is an array of which player has take the allin action. For example, is_allin = [true,true,false] denotes the player0 and player1 have taken the allin action
-
is_fold
¶ is_fold is an array of which player has take the fold action. For example, is_fold = [true,true,false] denotes the player0 and player1 have taken the fold action
-
is_needed_to_action
¶ is_needed_to_action is an array of which player has take the needed_to_action action. For example, is_needed_to_action = [true,true,false] denotes the player0 and player1 have taken the needed_to_action action
-
max_bet_sofar
¶ The max bet used by one player so far
-
num_allin
¶ The number of players who has taken the allin action
-
num_fold
¶ The number of players who has taken the fold action
-
num_needed_to_action
¶ The number of players who has taken the needed_to_action action
-
num_players
¶ The number of players in this game
-
public_cards
¶ The public cards of this game. For example, public_cards = [roomai.common.PokerCards.lookup(“A_Spade”), roomai.common.PokerCards.lookup(“A_Heart”)]
-
raise_account
¶ The raise account. If a player want to raise, the price must be max_bet_sofar + raise_account * N. The raise account will increases as the game goes forward
-
stage
¶ stage in [1,2,3,4]
-


Installation¶
Table of Contents
Spinning Up requires Python3, OpenAI Gym, and OpenMPI.
Spinning Up is currently only supported on Linux and OSX. It may be possible to install on Windows, though this hasn’t been extensively tested. [1]
You Should Know
Many examples and benchmarks in Spinning Up refer to RL environments that use the MuJoCo physics engine. MuJoCo is a proprietary software that requires a license, which is free to trial and free for students, but otherwise is not free. As a result, installing it is optional, but because of its importance to the research community—it is the de facto standard for benchmarking deep RL algorithms in continuous control—it is preferred.
Don’t worry if you decide not to install MuJoCo, though. You can definitely get started in RL by running RL algorithms on the Classic Control and Box2d environments in Gym, which are totally free to use.
| [1] | It looks like at least one person has figured out a workaround for running on Windows. If you try another way and succeed, please let us know how you did it! |
Installing Python¶
We recommend installing Python through Anaconda. Anaconda is a library that includes Python and many useful packages for Python, as well as an environment manager called conda that makes package management simple.
Follow the installation instructions for Anaconda here. Download and install Anaconda 3.x (at time of writing, 3.6). Then create a conda env for organizing packages used in Spinning Up:
conda create -n spinningup python=3.6
To use Python from the environment you just created, activate the environment with:
source activate spinningup
You Should Know
If you’re new to python environments and package management, this stuff can quickly get confusing or overwhelming, and you’ll probably hit some snags along the way. (Especially, you should expect problems like, “I just installed this thing, but it says it’s not found when I try to use it!”) You may want to read through some clean explanations about what package management is, why it’s a good idea, and what commands you’ll typically have to execute to correctly use it.
FreeCodeCamp has a good explanation worth reading. There’s a shorter description on Towards Data Science which is also helpful and informative. Finally, if you’re an extremely patient person, you may want to read the (dry, but very informative) documentation page from Conda.
Caution
As of November 2018, there appears to be a bug which prevents the Tensorflow pip package from working in Python 3.7. To track, see this Github issue for Tensorflow. As a result, in order to use Spinning Up (which requires Tensorflow), you should use Python 3.6.
Installing Spinning Up¶
git clone https://github.com/openai/spinningup.git
cd spinningup
pip install -e .
You Should Know
Spinning Up defaults to installing everything in Gym except the MuJoCo environments. In case you run into any trouble with the Gym installation, check out the Gym github page for help. If you want the MuJoCo environments, see the optional installation arguments below.
Check Your Install¶
To see if you’ve successfully installed Spinning Up, try running PPO in the LunarLander-v2 environment with
python -m spinup.run ppo --hid "[32,32]" --env LunarLander-v2 --exp_name installtest --gamma 0.999
This might run for around 10 minutes, and you can leave it going in the background while you continue reading through documentation. This won’t train the agent to completion, but will run it for long enough that you can see some learning progress when the results come in.
After it finishes training, watch a video of the trained policy with
python -m spinup.run test_policy data/installtest/installtest_s0
And plot the results with
python -m spinup.run plot data/installtest/installtest_s0
Installing MuJoCo (Optional)¶
First, go to the mujoco-py github page. Follow the installation instructions in the README, which describe how to install the MuJoCo physics engine and the mujoco-py package (which allows the use of MuJoCo from Python).
You Should Know
In order to use the MuJoCo simulator, you will need to get a MuJoCo license. Free 30-day licenses are available to anyone, and free 1-year licenses are available to full-time students.
Once you have installed MuJoCo, install the corresponding Gym environments with
pip install gym[mujoco,robotics]
And then check that things are working by running PPO in the Walker2d-v2 environment with
python -m spinup.run ppo --hid "[32,32]" --env Walker2d-v2 --exp_name mujocotest


--- layout: page title: "The application/pdf Media Type" description: "The Portable Document Format (PDF) is an ISO standard (ISO 32000-1:2008) defining a final-form document representation language in use for document exchange, including on the Internet, since 1993. This document provides an overview of the PDF format and updates the media type registration of \"application/pdf\"." ---
| Document Name: | RFC 8118 |
|---|---|
| Document URI: |
urn:ietf:rfc:8118
|
| Online Version: |
https://datatracker.ietf.org/doc/html/rfc8118
|
| Organization: | Internet Engineering Task Force (IETF) |
| Series: | Request for Comments (RFC) |
| Abstract: | The Portable Document Format (PDF) is an ISO standard (ISO 32000-1:2008) defining a final-form document representation language in use for document exchange, including on the Internet, since 1993. This document provides an overview of the PDF format and updates the media type registration of "application/pdf". |
application/pdf
Return to ( Series | Organization | all Specifications )


Fun with Files
Choose a file and display information about it
Choose an image and display it
Open a CSV File
Open a JSON File


{% include shared/head.html %}
If you think you have what it takes, get in touch with us by sending an email to careers@rrsoft.co.


Currently the theme switching is done with including a Java Script file. In the future releases this will be a part of php options settings
Currently there are a four themes plus the standart one.
The list of currently available themes is:
All themes are available in the [themes] folder of the install package.
As of version 4.0 it is possible to set the theme dynamically within PHP script. See setTheme method
It is important to note that the themes file should be loaded after the jqChart file as is shown in the Quick Install
Below is exmple how to do this.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My First PHP jqChart </title> <script src="js/jquery.js" type="text/javascript"></script> <script src="js/jquery.jqChart.js" type="text/javascript"></script> <script src="themes/dark-blue.js" type="text/javascript"></script> ... </body> </html>
You to create your own theme starting from an existing one.


I am in the process of changing careers from being a nurse to a web developer.
I started learning web development in 2019. I enjoy the process of combining creativity and functionality in order to create web pages.
Snowboarding is one of my favorite hobbies. I have been snowboarding for about 10 years, and strive to go to a ski resort at least twice every winter.


--- layout: default tab-title: Research title: Research ---
Here I will publish my latest Crypto DeFi research papers and ideas. Stay tuned.


We are a community of self-learners, passionate about building and collaborating on open source projects. Our mission is to improve the state of development in Hyderabad, India.
We organize meetups every weekend, on various development topics like Mobile and Web.
The general theme of our meetups is self-learning, peer-learing, collaboration and learning through building.
Looking for open source projects to contribute to? We have listed all of our community projects as well as those created by our members in the projects page. You can search and filter based on your favorite technology. You can also add your own project.
Our community is more than 200+ people strong, with members from different backgrounds and skillsets. Checkout our Members List to see all the profiles. You can even search and filer based on technologies and expertise.
Looking for developer jobs or good candidates for your company in Hyderabad? Our jobs board lists openings in startups as well as established corporations. You can filter based on technologies and the type of job you're looking for. You can also submit a new job opening.


DH_BUGFILES(1) Debhelper DH_BUGFILES(1) NAME dh_bugfiles - install bug reporting customization files into package build directories SYNOPSIS dh_bugfiles [-A] [debhelperÂ options] DESCRIPTION dh_bugfiles is a debhelper program that is responsible for installing bug reporting customization files (bug scripts and/or bug control files and/or presubj files) into package build directories. FILES debian/package.bug-script This is the script to be run by the bug reporting program for generating a bug report template. This file is installed as usr/share/bug/package in the package build directory if no other types of bug reporting customization files are going to be installed for the package in question. Otherwise, this file is installed as usr/share/bug/package/script. Finally, the installed script is given execute permissions. debian/package.bug-control It is the bug control file containing some directions for the bug reporting tool. This file is installed as usr/share/bug/package/control in the package build directory. debian/package.bug-presubj The contents of this file are displayed to the user by the bug reporting tool before allowing the user to write a bug report on the package to the Debian Bug Tracking System. This file is installed as usr/share/bug/package/presubj in the package build directory. OPTIONS -A, --all Install debian/bug-* files to ALL packages acted on when respective debian/package.bug-* files do not exist. Normally, debian/bug-* will be installed to the first package only. SEE ALSO /usr/share/doc/reportbug/README.developers.gz debhelper(1) This program is a part of debhelper. AUTHOR Modestas Vainius<EMAIL_ADDRESS>9.20120909 2011-09-12 DH_BUGFILES(1)


Convert downloadable statements from the Bank of Scotland to QIF files
This service is not affiliated with, or endorsed by the Bank of Scotland.
This Javascript tool lets you convert Bank of Scotland CSV (comma separated value) bank statements into a QIF format file that you can import into your accountancy software.
Your data never leaves the browser. So only you will ever see the input or the output.
1. Select your downloaded statement2. Review the conversion below.
3. Copy and paste the contents to a plain text file.
4. Or, click the link to download the QIF format file. Note that you may have to rename the file once you have downloaded it.


I Alone Level-Up (Solo Leveling) Web Novel
Only I Level Up
The I Alone Level-Up (Solo Leveling) Web Novel novel is a popular light novel covering Action, Adventure, and Fantasy genres. Written by the Author Chugong. 271 chapters have been translated and translation of all chapters was completed.
Categories
Summary
10 years ago, after “the Gate” that connected the real world with the monster world opened, some of the ordinary, everyday people received the power to hunt monsters within the Gate. They are known as “Hunters”. However, not all Hunters are powerful. My name is Sung Jin-Woo, an E-rank Hunter. I’m someone who has to risk his life in the lowliest of dungeons, the “World’s Weakest”. Having no skills whatsoever to display, I barely earned the required money by fighting in low-leveled dungeons… at least until I found a hidden dungeon with the hardest difficulty within the D-rank dungeons! In the end, as I was accepting death, I suddenly received a strange power, a quest log that only I could see, a secret to leveling up that only I know about! If I trained in accordance with my quests and hunted monsters, my level would rise. Changing from the weakest Hunter to the strongest S-rank Hunter!
-
270
After Stories Part 6: Goodbye
-
269
After Stories Part 5: Conclusion
-
268
After Stories Part 4: Forward! Forward!
-
267
After Stories Part 3: Approach
-
266
After Story Part 2: Until we meet again
-
265
After Story Part 1: Beru’s memories
-
264
Side Story 21 - Twelve years later (Fin)
-
263
Side Story 20 - Twelve years later (2)
-
262
Side Story 19 - Twelve years later (1)
-
261
Side Story 18
-
260
Side Story 17 - I’m going there to meet you right now (3)
-
259
Side Story 16 - I’m going there to meet you right now (2)
-
258
Side Story 15 - I’m going there to meet you right now (1)
-
257
Side Story 14 - Only I’m Max Level
-
256
Side Story 13 - A day in Fangs’ life
-
255
Side Story 12 - Decision
-
254
Side Story 11 - Your daily routine (6)
-
253
Side Story 10 - Your daily routine (5)
-
252
Side Story 9 - Your daily routine (4)
-
251
Side Story 8 - Your daily routine (3)
-
250
Side Story 7 - Your daily routine (2)
-
249
Side Story 6 - Your daily routine (1)
-
248
Side Story 5 - Igrit’s memories
-
247
Side Story 4 - Return
-
246
Side Story 3 - Reunion (2)
-
245
Side Story 2 - Reunion (1)
-
244
Side Story 1 - I am an employee of the Hunter’s Association.
-
243
Chapter 243
-
242
Chapter 242
-
241
Chapter 241
-
240
Chapter 240
-
239
Chapter 239
-
238
Chapter 238
-
237
Chapter 237
-
236
Chapter 236
-
235
Chapter 235
-
234
Chapter 234
-
233
Chapter 233
-
232
Chapter 232
-
231
Chapter 231
-
230
Chapter 230
-
229
Chapter 229
-
228
Chapter 228
-
227
Chapter 227
-
226
Chapter 226
-
225
Chapter 225
-
224
Chapter 224
-
223
Chapter 223
-
222
Chapter 222
-
221
Chapter 221
-
220
Chapter 220
-
219
Chapter 219
-
218
Chapter 218
-
217
Chapter 217
-
216
Chapter 216
-
215
Chapter 215
-
214
Chapter 214
-
213
Chapter 213
-
212
Chapter 212
-
211
Chapter 211
-
210
Chapter 210
-
209
Chapter 209
-
208
Chapter 208
-
207
Chapter 207
-
206
Chapter 206
-
205
Chapter 205
-
204
Chapter 204
-
203
Chapter 203
-
202
Chapter 202
-
201
Chapter 201
-
200
Chapter 200
-
199
Chapter 199
-
198
Chapter 198
-
197
Chapter 197
-
196
Chapter 196
-
195
Chapter 195
-
194
Chapter 194
-
193
Chapter 193
-
192
Chapter 192
-
191
Chapter 191
-
190
Chapter 190
-
189
Chapter 189
-
188
Chapter 188
-
187
Chapter 187
-
186
Chapter 186
-
185
Chapter 185
-
184
Chapter 184
-
183
Chapter 183
-
182
Chapter 182
-
181
Chapter 181
-
180
Chapter 180
-
179
Chapter 179
-
178
Chapter 178
-
177
Chapter 177
-
176
Chapter 176
-
175
Chapter 175
-
174
Chapter 174
-
173
Chapter 173
-
172
Chapter 172
-
171
Chapter 171


Translator: Master-cai
few days ago, I saw an interview paper of Tencent. In this paper, most of the algorithm problems are Dynamic programming. The last question is that writing a function to calculate the shortest editing Distance. Today I wrote an article specifically to discuss this problem.
I personally like this problem because it looks very hard, the solution is Surprisingly simple and beautiful and it`s a rare algorithm which is not very useful.(yech, I recognized that many algorithm problems are not very useful.)Following is the problem:
Why I say this problem is hard? Obviously, it`s just hard, making people Helpless and frightened.
And why I say this problem is useful? Because days ago I used the algorithm in my daily life. I had a article in my Wechat Official Account and I wrote some words out of place by mistake. So I decided to modify this part to make the logic suitable. However, the Wechat Official Account article can only be modified 20 words at most, and it only supports addition, deletion and replacement(exactly same as the editing distance problem.) So I used the algorithm to find a best way to solve the problem in just 16 steps.
Another advanced example is that the edit distance can be used to measure the similarity of two DNA sequences. The DNA sequence is a sequence included of A, G, C and T, which is similar to a string. The less editing distance is, The more similar the two DNA are. Maybe the owner of these DNAs were ancient relatives.
Let’s get to the point, I will explain you how to edit the distance in detail, and I hope you could obtain something fruitful.
The editing distance is a problem that give us two strings s1
and s2
with only three
operations and let`s change s1
to s2
in least steps. The first thing to be sure of is that
the result of s1
to s2
and s2
to s1
is the same. So we will use
s1
to s2
as an example.
Mentioned in the early paper “The longest common subsequence”, I said that to solve the dynamic programming
problem of two strings, We normally use two pointers i
, j
to point to the end of the two
strings, and then go forward step by step to reduce the size of the problem.
Assuming that the two strings are “rad” and “apple”, in order to change s1
tos2
, the
algorithm works like this:
Remember this gif in order to solve the editing distance problem. The key is how to make
the right operation which I will discuss later.
According to the above gif, we can figure out that there are not only three operations, in fact there is the fourth operation which is skip. For example:
As the two strings are same, obviously there should be no operation to minimize the distance. Just move
i
, j
.
Another simple situation is when j
has finished s2
, if i
has not finished
s1
, then you can only delete s1
to make them the same. For example:
Similarly, if i
finished s1
and j
has not finished s2
, you can
only insert all the remaining characters of s2
into s1
by inserting. As you see, the two
cases are the base case of the algorithm.
Let`s look at how to change your ideas into code. Sit tight, it’s time to go.
First we sort out our ideas:
The base case is when i
finished s1
or j
finished s2
, we can
return the remaining length of another string directly.
For each pair characters, s1[i]
and s2[j]
, there are four operations:
With this framework, the problem has been solved. Maybe you will ask, how to chose the “three choices”? It`s very simple, try it all, and chose the smallest one. we need some recursive skills here.Look at the code:
def minDistance(s1, s2) -> int:
def dp(i, j):
# base case
if i == -1: return j +
1
if j == -1: return i +
1
if s1[i] == s2[j]:
return dp(i - 1, j - 1)
# skip
else:
return min(
dp(i, j - 1) + 1, #
insert
dp(i - 1, j) + 1, #
delete
dp(i - 1, j - 1) +
1 # replace
)
# i，j initialize to the last index
return dp(len(s1) - 1,
len(s2)
- 1)
Let`s explain this recursive code in detail. There is no need to explain the base case, so I mainly explain the recursive part.
It is said that recursive code is very interpretable. It does make sense. As long as you understand the definition of a function, you can clearly understand the logic of the algorithm. The function dp(i, j) is defined like this:
Remember this definition, let`s look at the code:
if s1[i] == s2[j]:
return dp(i - 1, j - 1)
# skip
# explain：
# already the same, no need any operation
# the least editing distance of s1[0..i] and s2[0..j] equals
# the least distance of s1[0..i-1] 和 s2[0..j-1]
# It means that dp(i, j) equals dp(i-1, j-1)
if s1[i]！=s2[j]
, we should recurse the three operations which needs a bit of thing:
dp(i, j - 1) + 1, # insert
# explain：
# I Directly insert a character same as s2[j] at s1[i]
# then s2[j] are matched，move forward j，and continue compareed with i
# Don`t forget to add one to the operation number
dp(i - 1, j) + 1, #
delete
# explain：
# I directly delete s[i]
# move forward i，continue to compared with j
# add one to the operation number
dp(i - 1, j - 1) + 1 # replace
# explain：
# I directly replace s1[i] with s2[j], then they are matched
# move forward i，j and continue to compare
# add one to operation number
Now, you should fully understand this short and clever code. Another small problem is that this is a violent solution. There are many overlapping subproblems, which should to be optimized by dynamic programming techniques.
How can we see the overlapping subproblems at a glance? As mentioned in the previous article “Regular Expressions for Dynamic Programming”, we need to abstract the recursive framework of the algorithm in this article:
def dp(i, j):
dp(i - 1, j - 1) #1
dp(i, j - 1) #2
dp(i - 1, j) #3
For the subproblem dp(i-1, j-1)
, how can we get it from the original question dp(i, j)
?
Once we found a repetitive path, it means that there is a huge number of repetitive paths, which is the overlapping
subproblem. For example: dp(i, j)-> #1
and dp(i, j)->#2->#3
.
For the overlapping subproblems, we introduced in the previous article “Detailed Explanation of Dynamic Programming” in detailed. The optimization is nothing more than a memo or a DP table.
The memo is easy to append, just modified the original code slightly.
def minDistance(s1, s2) -> int:
memo = dict() # memo
def dp(i, j):
if (i, j) in memo:
return memo[(i, j)]
...
if s1[i] == s2[j]:
memo[(i, j)] = ...
else:
memo[(i, j)] = ...
return memo[(i, j)]
return dp(len(s1) - 1,
len(s2) - 1)
We mainly explain the DP table solution.
First, we declare the meaning of the dp array. The dp array is a two-dimensional array, which looks like this:
With the foundation of the previous recursive solution, it`s easy to understand. dp [..][0]
and
dp [0][..]
correspond to the base case. The meaning of dp [i][j]
is similar to the
previous dp function:
def dp(i, j) -> int
# return the least editing distance of s1[0..i] and s2[0..j]
dp[i-1][j-1]
# storage the least editing distance of s1[0..i] and s2[0..j]
The base case of the dp function is that i, j
is equal to -1. However the array index is at least 0,
the dp array is offset by one position.
Since the dp array has the same meaning as the recursive dp function, you can directly apply the previous ideas to write code. The only difference is that the DP table is solved from the bottom to up, and the recursive solution is solved from the top to down:
int minDistance( s1, s2) {
int m = s1.length(), n = s2.length();
int[][] dp = new int[m + 1][n + 1];
// base case
for (int i = 1; i <= m; i++)
dp[i][0] = i;
for (int j = 1; j <= n; j++)
dp[0][j] = j;
// from the bottom to up
for (int i = 1; i <= m; i++)
for (int j = 1; j <= n; j++)
if (s1.charAt(i-1) ==
s2.charAt(j-1))
dp[i][j] = dp[i - 1][j - 1];
else
dp[i][j] = min(
dp[i - 1][j] + 1,
dp[i][j - 1] + 1,
dp[i-1][j-1] + 1
);
// storage the least editing distance of s1 and s2
return dp[m][n];
}
int min(int a, int b, int c)
{
return Math.min(a, .min(b, c));
}
Generally speaking, when dealing with the dynamic programming of two strings, we just follow the ideas of this article, making the DP table. Why? Because it`s easy to find out the relationship of the state transitions, such as the DP table of the edit distance:
There is another detail: since every dp[i][j]
is only related to the three status, the space
complexity can be reduced to O(min(M, N)) (M, N
is the length
of the two strings). It`s not very difficult but the code is harder to read. You can try to optimize it by yourself.
Maybe you will also ask, As we only found the minimum editing distance, how can we know the every step? In the example of modifying the article you mentioned earlier, only a editing distance is definitely not enough. You must know how to modify it.
Actually, it`s very simple, just slightly modified the code and add additional information to the dp array:
// int[][] dp;
Node[][] dp;
class Node {
int val;
int choice;
// 0 skip
// 1 insert
// 2 delete
// 3 replace
}
The val
attribute is the value of the previous dp array, and thechoice
attribute
represents the operation. When making the best choice, record the operation and then infer the specific operation
from the result.
Our final result is dp [m] [n]
, where val
holds the minimum edit distance,
andchoice
holds the last operation, such as the insert operation, then you can move one space to the
left:
Repeat this process, you can return to the starting point dp [0] [0]
step by step to form a path.
Editing according to the operations on this path is the best solution.
The above is the entire content of the edit distance algorithm.


Roll Number
Name
Email Id
Age
Date
Gender
Male
Female
Submit
Show Data
Roll number
Student Name
Age
Email
Date of Birth
IS Male
{{student.rollNo}}
{{student.name}}
{{student.age}}
{{student.email}}
{{student.date|date:'short'}}
{{student.isMale}}
Delete