If you haven't guessed it, football is my favorite sport.
And to all Man United fans out there I say, Manchester is BLUE!
Rumour has it that I'm a human-being.
Driven, enthusiastic and passionate could be used to define the person that I am.
I'm an East African citizen, born in Burundi, raised in Rwanda and currently living in Kenya (for the past 9 years!)
My days are split between school at University of Nairobi where I'm completing my Bsc.Biochemistry and work at a Tech startup based in Kigali where I'm in charge of project coordination.
Before we get into serious matters, here are some of the fun things I like doing when I have some time to spare.
Now that you know a little more about me, here are some of the projects I have worked on.
| Project Name | Description | Link |
|---|---|---|
| My First Webpage | This was my first attempt at making a basic webpage. |
https://chrisbanga.github.io/My-First-Webpage/ |
| My pet story | This webpage is intended to teach people about parrots. |
https://chrisbanga.github.io/my-pet-story/ |
| Braching test | This was used to test the concepts of branching as a tool form trying different versions of a website before publishing it. |
https://chrisbanga.github.io/branching-test/ |


game_name is required.
game_startTime is required.
game_endTime is required.
game_type is required.
game_minPlayer is required.
game_EntryFee is required.
game_winningRule is required.


A Megagame of Alien Terror
Join sixty other players as world leaders responding to the alien menace.
Be one of the Diplomats, Generals, and Scientists working to protect their country, and the world, from the threat. Or play as one of the other roles in the game. Be a member of the press or one of the mysterious invading aliens.
The game will run from 9am on Saturday, Week 6 (7th November). It will cost £5, or £3 if you are a member of the Science Fiction and Fantasy Society. There are sixty player slots available, contact us to book your place.
Roles:
- Head of State
- Overall team leadership and strategy, liaises with the other nations.
- Ambassador to the UN
- Attends UN meetings to respond to global crises.
- Diplomat
- Liaises with the other nations, controls secret agents.
- General
- Commands the military forces on the world map.
- Scientist
- Research alien technology.
- Alien
- Invade earth!
Interested?
Fill in the form or send us an email and we'll send you details of how to book.
Please un-check any roles that you would prefer not to play.
-
@defining(emailForm.data.collect { case (k, v) if k.matches("roles\\[\\d+\\]") => v } toSet) { selectedRoles =>
@for(role <- roles; roleId <- Some(role.replaceAll("[^a-zA-Z0-9]+", "-").toLowerCase)) {
- } }
You can also catch one of the team in person at an SF&F event of your choice. At least some of us can be found at Thursday socials, Impact LARP, Changeling, and boardgames night.


Copyright 2017 STMicroelectronics
The STM32CubeH7 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:
1. Case of a single core project, STM32H743I-EVAL board:
a. Browse to \\Projects\\STM32H743I-EVAL\\Examples.
b. Open \\GPIO, then the \\GPIO_EXTI folder.
c. Open the project with your preferred toolchain.
d. Rebuild all files and load your image into target memory.
e. Run the example: each time you press the Tamper push-button, the LED1 will toggle (for more details, refer to the example readme file).
2. Case of a dual core project, example STM32H747I-EVAL board:
a. Browse to \\Projects\\STM32H747I-EVAL\\Examples.
b. Open \\GPIO, then the \\GPIO_EXTI folder.
c. Open the project with your preferred toolchain
d. For each target STM32H747I_EVAL_CM4 and STM32H747I_EVAL_CM7 (respectively for Cortex-M7 and Cortex-M4):
i. Rebuild all files and load your image into target memory
ii. After loading the two images, reset the board in order to boot (Cortex-M7) and CPU2 (Cortex-M4) at once
i. each time you press the Tamper push-button, :
a. LED1 toggles once (To indicated an EXTI interrupt for Cortex-M7)
b. LED3 toggles once (To indicated an EXTI interrupt for Cortex-M4)
ii. (for more details, refer to the example readme file).
3. Case of a value line project, STM32H750B-DK board:
a. Browse to Projects\\STM32H750B-DK\\Templates\ExtMem_Boot.
b. Open the ExtMem_Boot project with your preferred toolchain
c. Rebuild all files and load your image into target internal flash memory
d. Browse to \\Projects\\STM32H750B-DK\\Examples.
e. Open \\GPIO, then the \\GPIO_IOToggle folder.
f. Open the project with your preferred toolchain (keep the default configuration XIP_QSPI_InternalSRAM)
g. Rebuild all files and load your image into the external QSPI flash memory.
h. Run the example: LED1 will toggle infinitely each (for more details, refer to the example readme file).
Note : The principle of the STM32H750xx value line
applications is to execute user application from an external memory
(QSPI flash ore SDRAM, default is QSPI flash).
The Templates\ExtMem_Boot projects allows to boot from the STM32H750xx internal flash,
configure external memories then jump to user application located on
an external memory of the STM32H750B-DK board.
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 | STM32H743I-EVAL | NUCLEO-H743ZI | STM32H745I-DISCO | STM32H750B-DK | NUCLEO-H745ZI-Q | STM32H747I-DISCO | STM32H747I-EVAL | |
|
Templates |
Dual Core Templates |
BootCM4_CM7 |
This project provides a reference template that can be used to build any firmware application where both cores are used. It is mainly dedicated for devices where CPU1 (Cortex-M7) and CPU2 (Cortex-M4) are booting at once (with respect to configured boot Flash options) System Init, System clock, voltage scaling and L1-Cache configuration are done by CPU1 (Cortex-M7). | - | - | X | - | X | X | X | |
|
BootCM4_CM7Gated |
This project provides a reference template that can be used to build any firmware application where both cores are used. It is mainly dedicated for parts where CPU2 (Cortex-M4) is booting and CPU1(Cortex-M7)clock is gated. | - | - | X | - | X | X | X | |||
|
BootCM7_CM4Gated |
This project provides a reference template that can be used to build any firmware application where both cores are used. It is mainly dedicated for parts where CPU1 (Cortex-M7) is booting and CPU2(Cortex-M4)clock is gated. | - | - | X | - | X | X | X | |||
|
BootCM7_CM4Gated_RAM |
This project provides a reference template that can be used to build any firmware application where both cores are used. It is mainly dedicated for parts where CPU1 (Cortex-M7 in D1 Domain) is booting and CPU2(Cortex-M4 in D2 Domain) is gated (with respect to configured boot Flash options). | - | - | X | - | X | X | X | |||
| Value Line Templates |
ExtMem_Boot |
This directory contains a set of sources files and pre-configured projects that describes how to build an application for execution from external memory using the ExtMem_Boot firmware. | - | - | - | X | - | - | - | ||
|
Template_Project |
This projects provides a reference template that can be used to build any firmware application with execution from external memory This projects is configured for STM32H750xx devices using STM32CubeH7 HAL and running on STM32H750B-DISCO board from STMicroelectronics. | - | - | - | X | - | - | - | |||
| Single Core Template |
Starter project |
This projects provides a reference template that can be used to build any firmware application. | X | X | - | - | - | - | - | ||
| Total number of templates: 20 | 1 | 1 | 4 | 2 | 4 | 4 | 4 | ||||
|
Templates_LL |
- |
Starter project |
This projects provides a reference template through the LL API that can be used to build any firmware application. | X | X | X | - | X | X | X | |
| Total number of templates_ll: 6 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | ||||
|
Examples |
- |
BSP |
This example provides a description of how to use the different BSP drivers. | X | X | X | X | X | X | X | |
|
ADC |
ADC_AnalogWatchdog |
This example provides a short description of how to use the ADC peripheral to perform conversions with analog watchdog and out-of-window interruptions enabled. | X | X | - | - | - | - | - | ||
|
ADC_DAC_Interconnect |
This example describes how to configure and connect DAC output to ADC input and use the analog watchdog to monitor signal behavior. | X | X | - | - | - | - | - | |||
|
ADC_DMA_Transfer |
This example describes how to configure and use the ADC to convert an external analog input and get the result using a DMA transfer through the HAL API. | X | X | - | - | - | - | - | |||
|
ADC_DifferentialMode |
This example describes how to configure and use the ADC2 to convert an external analog input in Differential Mode, difference between external voltage on VinN and VinP. | X | X | - | - | - | - | - | |||
|
ADC_DualModeInterleaved |
This example provides a short description of how to use two ADC peripherals to perform conversions in interleaved dual-mode. | X | X | X | - | X | X | X | |||
|
ADC_InternalChannelConversion |
This example describes how to configure and use the ADC to retreive the system battery level. | X | X | - | - | - | - | - | |||
|
ADC_OverSampler |
This example describes how to configure and use the ADC to convert an external analog input combined with oversampling feature to increase resolution through the HAL API. | X | X | - | - | - | - | - | |||
|
ADC_RegularConversion_Polling |
This example describes how to use the ADC in Polling mode to convert data through the HAL API. | X | X | - | - | - | - | - | |||
|
ADC_Regular_injected_groups |
This example provides a short description of how to use the ADC peripheral to perform conversions using the two ADC groups: regular group for ADC conversions on main stream and injected group for ADC conversions limited on specific events (conversions injected within main conversions stream). | X | X | X | - | - | - | - | |||
|
CEC |
CEC_DataExchange |
This example shows how to configure and use the CEC peripheral to receive and transmit messages. | X | - | - | - | - | - | - | ||
|
COMP |
COMP_AnalogWatchdog |
This example shows how to make an analog watchdog using the COMP peripherals in window mode. | X | X | - | - | - | - | - | ||
|
COMP_Interrupt |
This example shows how to configure the COMP peripheral to compare the external voltage applied on a specific pin with the Internal Voltage Reference. | X | X | - | - | - | - | X | |||
|
COMP_OutputBlanking |
This example shows how to use the output blanking feature of COMP peripheral. | X | X | - | - | - | - | - | |||
|
CRC |
CRC_Bytes_Stream_7bit_CRC |
How to configure the CRC using the HAL API. The CRC (cyclic redundancy check) calculation unit computes 7-bit CRC codes derived from buffers of 8-bit data (bytes). The user-defined generating polynomial is manually set to 0x65, that is, X^7 + X^6 + X^5 + X^2 + 1, as used in the Train Communication Network, IEC 60870-5[17]. | X | X | - | - | - | - | - | ||
|
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). | X | X | - | - | - | - | - | |||
|
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). | X | X | X | - | - | - | X | |||
|
CRYP |
CRYP_AESCCM_IT |
How to use the CRYPTO peripheral to encrypt/decrypt data(Plaintext/Ciphertext) in interrupt mode using AES with Combined Cipher Machine (CCM) then generate the authentication TAG . | X | - | - | - | - | - | - | ||
|
CRYP_AESGCM |
How to use the CRYPTO peripheral to encrypt/decrypt data(Plaintext/Ciphertext) using AES Galois/counter mode (GCM)and generate the authentication TAG . | X | - | - | - | - | - | X | |||
|
CRYP_AESModes |
How to use the CRYP peripheral to encrypt/decrypt data(Plaintext/Ciphertext) using AES ECB, CBC and CTR algorithm. | X | - | - | - | - | - | - | |||
|
CRYP_AESModes_DMA |
How to use the CRYPTO peripheral to encrypt/decrypt data(Plaintext/Ciphertext) using AES ECB algorithm in DMA mode with swapping. | X | - | - | - | - | - | - | |||
|
CRYP_TDESModes |
How to use the CRYPTO peripheral to encrypt/decrypt data(Plaintext/Ciphertext) using TDES ECB and CBC algorithm. | X | - | - | - | - | - | - | |||
|
Cortex |
CORTEXM_Cache |
How to do Data-Cache maintenance on a shared memory buffer accessed by 2 masters (CPU and DMA). | X | - | - | - | - | - | - | ||
|
DAC |
DAC_DualConversion |
This example provides a short description of how to use the DAC peripheral in a dual conversion. | X | X | - | - | - | - | - | ||
|
DAC_SignalsGeneration |
This example provides a description of how to use the DAC peripheral to generate several signals using DMA controller. | X | X | X | - | - | - | X | |||
|
DAC_SimpleConversion |
This example provides a short description of how to use the DAC peripheral to do a simple conversion. | X | X | - | - | - | - | - | |||
|
DCMI |
DCMI_CaptureMode |
How to use the DCMI to interface with a camera module and continuously capture images to a Camera Frame Buffer located in external SDRAM. | - | - | - | - | - | X | - | ||
|
DCMI_SnapshotMode |
How to use the DCMI to interface with a camera module, capture a single image in Camera Frame Buffer (320x240 with RGB565 format) and once full frame camera is captured display it on the LCD in ARGB8888 format. | - | - | - | - | - | X | - | |||
|
DFSDM |
DFSDM_AudioRecord |
This example shows how to use the DFSDM HAL API to perform stereo audio recording. | X | - | - | - | - | - | X | ||
|
DMA |
DMAMUX_RequestGen |
This example shows how to use the DMA with the DMAMUX request generator to generate DMA transfer requests upon LPTIM2 output signal, knowing that the LPTIM2 is configured in PWM with 2sec period. | X | X | X | X | - | X | X | ||
|
DMAMUX_SYNC |
This example shows how to use the DMA with the DMAMUX to synchronize a transfer with LPTIM1 output signal. | X | - | - | - | - | - | - | |||
|
DMA_FIFOMode |
This example provides a description of how to use a DMA to transfer a word data buffer from Flash memory to embedded SRAM with FIFO mode enabled through the HAL API. | X | - | - | - | - | - | - | |||
|
DMA_FLASHToRAM |
This example provides a description of how to use a DMA to transfer a word data buffer from Flash memory to embedded SRAM through the HAL API. | X | - | - | - | - | - | - | |||
|
DMA2D |
DMA2D_BlendingWithAlphaInversion |
This example provides a description of how to configure DMA2D peripheral in Memory_to_Memory with blending transfer and alpha inversion mode. | X | - | - | - | - | X | X | ||
|
DMA2D_MemToMemWithBlending |
This example provides a description of how to configure DMA2D peripheral in Memory_to_Memory with blending transfer mode. | X | - | X | X | - | X | X | |||
|
DMA2D_MemToMemWithBlendingAndCLUT |
This example provides a description of how to configure DMA2D peripheral in Memory_to_Memory with blending transfer mode and indexed 256 color images (L8). | X | - | - | - | - | X | X | |||
|
DMA2D_MemToMemWithPFCandRedBlueSwap |
This example provides a description of how to configure DMA2D peripheral in Memory_to_Memory transfer mode with Pixel Format conversion and Red and Blue swap, and display the result on LCD. | X | - | - | - | - | X | X | |||
|
DMA2D_MemoryToMemory |
This example provides a description of how to configure the DMA2D peripheral in Memory_to_Memory transfer mode. | X | - | - | - | - | X | X | |||
|
DMA2D_RegToMemWithLCD |
This example provides a description of how to configure DMA2D peripheral in Register_to_Memory transfer mode and display the result on LCD. | X | - | - | - | - | X | X | |||
|
FDCAN |
FDCAN_Classic_Frame_Networking |
This example shows how to configure the FDCAN peripheral to send and receive Classic CAN frames in normal mode. | X | - | X | - | - | - | - | ||
|
FDCAN_Clock_calibration |
This example shows how to achieve clock calibration on an FDCAN unit. | X | - | - | - | - | - | - | |||
|
FDCAN_Com_IT |
This example shows how to achieve Interrupt Process Communication between two FDCAN units. | X | - | - | - | - | - | - | |||
|
FDCAN_Com_polling |
This example shows how to achieve Polling Process Communication between two FDCAN units. | X | - | - | - | - | - | - | |||
|
FDCAN_Image_transmission |
This example shows the gain in time obtained by the activation of the Bit Rate Switching (BRS) feature. | X | - | X | - | - | - | - | |||
|
FDCAN_Loopback |
This example shows how to configure the FDCAN to operate in loopback mode. | X | - | - | - | - | - | - | |||
|
FLASH |
FLASH_CoreConfiguration |
Guide through the configuration steps to copy a dedicated program by CPU1 (Cortex-CM7) in Flash Bank2, to be executed by CPU2 (Cortex-CM4). | - | - | X | - | - | - | X | ||
|
FLASH_EraseProgram |
How to configure and use the FLASH HAL API to erase and program the internal Flash memory. | X | X | - | - | - | - | - | |||
|
FLASH_SwapBank |
Guide through the configuration steps to program internal Flash memory bank 1 and bank 2, and to swap between both of them by mean of the FLASH HAL API. | X | X | - | - | - | - | - | |||
|
FLASH_WriteProtection |
How to configure and use the FLASH HAL API to enable and disable the write protection of the internal Flash memory. | X | - | - | - | - | - | - | |||
|
FMC |
FMC_NOR |
This example guides you through the different configuration steps by mean of HAL API to configure the FMC controller to access the PC28F128M29EWLA NOR memory mounted on STM32H743I-EVAL evaluation board. | X | - | - | - | - | - | - | ||
|
FMC_SDRAM |
This example describes how to configure the FMC controller to access the SDRAM memory. | X | - | - | X | - | - | - | |||
|
FMC_SDRAM_DataMemory |
This example describes how to configure the FMC controller to access the SDRAM memory including heap and stack. | X | - | X | - | - | - | X | |||
|
FMC_SDRAM_LowPower |
This example describes how to configure the FMC controller to access the SDRAM memory in low power mode (SDRAM Self Refresh mode). | X | - | - | - | - | - | - | |||
|
FMC_SRAM |
This example describes how to configure the FMC controller to access the SRAM memory. | X | - | - | - | - | - | - | |||
|
GPIO |
GPIO_EXTI |
How to configure external interrupt lines for CPU1 (Cortex-M7) and CPU2 (Cortex-M4). | X | X | X | - | X | X | X | ||
|
GPIO_IOToggle |
How to configure and use GPIOs through the HAL API. | - | - | - | X | - | - | - | |||
|
HAL |
HAL_TimeBase_RTC_ALARM |
This example describes how to customize the HAL time base using RTC alarm instead of Systick as main source of time base. The Tamper push-button (connected to EXTI Line[15:10]) will be used to Suspend or Resume tick increment. | X | X | - | - | - | - | - | ||
|
HAL_TimeBase_RTC_WKUP |
This example describes how to customize the HAL time base using RTC wakeup instead of Systick as main source of time base. The Tamper push-button (connected to EXTI Line[15:10]) will be used to Suspend or Resume tick increment. | X | X | - | - | - | - | - | |||
|
HAL_TimeBase_TIM |
This example describes how to customize the HAL time base using a general purpose timer instead of Systick as main source of time base. | X | X | - | - | - | - | - | |||
|
HASH |
HASH_HMAC_SHA1MD5 |
How to use the HASH peripheral to hash data with HMAC SHA-1 and HMAC MD5 algorithms. | X | - | - | - | - | - | - | ||
|
HASH_SHA1MD5 |
How to use the HASH peripheral to hash data with SHA-1 and MD5 algorithms. | X | - | - | - | - | - | - | |||
|
HASH_SHA1MD5_DMA |
How to use the HASH peripheral to hash data using SHA-1 and MD5 algorithms when data are fed to the HASH unit with DMA. | X | - | - | - | - | - | - | |||
|
HASH_SHA224SHA256_DMA |
How to use the HASH peripheral to hash data with SHA224 and SHA256 algorithms. | X | - | - | - | - | - | X | |||
|
HRTIM |
HRTIM_Arbitrary_Waveform |
This example shows how to configure the HRTIM1 peripheral to generate an arbitary signals. | X | X | - | - | - | - | - | ||
|
HRTIM_DAC_ADC_Interconnect |
This example shows how to use the interconnection feature between HRTIM, DAC and ADC. | X | X | - | - | - | - | - | |||
|
HRTIM_ExternalEvents |
This example shows how to use the External Event as source of set and reset for HRTIM. | X | X | - | - | - | - | - | |||
|
HRTIM_FaultEvent |
This example shows how to configure the HRTIM peripheral in PWM mode and how to configure an use the Fault event. | X | X | - | - | - | - | - | |||
|
HRTIM_MultiplePWM |
This example shows how to configure the HRTIM1 peripheral to generate up to 5 PWM signals with different duty cycle for each HRTIM output. | X | X | X | - | X | X | X | |||
|
HRTIM_PWM_DifferentFrequencies |
This example shows how to configure the HRTIM1 peripheral to generate up to 6 PWM signals with different time base configuration for each slave timer. | X | X | - | - | - | - | - | |||
|
HSEM |
HSEM_CoreNotification |
How to use embedded hardware semaphore to send notification between cores. | - | - | X | - | - | X | X | ||
|
HSEM_CoreSync |
How to use embedded hardware semaphore to synchronize between cores. | - | - | X | - | - | X | X | |||
|
HSEM_ProcessSync |
How to use a HW semaphore to synchronize 2 process. | X | X | - | - | - | - | - | |||
|
HSEM_ReadLock |
How to enable, take then release semaphore using 2 different Processes. | X | X | - | - | - | - | - | |||
|
HSEM_ResourceSharing |
How to use embedded hardware semaphore to share resources between cores. | - | - | X | - | - | X | X | |||
|
I2C |
I2C_EEPROM_fast_mode_plus |
This example describes how to perform I2C data buffer transmission/reception via DMA. The communication uses an I2C EEPROM memory. | X | - | - | - | - | - | - | ||
|
I2C_TwoBoards_ComDMA |
This example describes how to perform I2C data buffer transmission/reception between two boards, via DMA. | - | X | - | - | - | - | - | |||
|
I2C_TwoBoards_ComIT |
This example describes how to perform I2C data buffer transmission/reception between two boards using an interrupt. | - | X | - | - | - | - | - | |||
|
I2C_TwoBoards_ComPolling |
This example describes how to perform I2C data buffer transmission/reception between two boards in Polling mode. | - | X | - | - | - | - | - | |||
|
I2C_WakeUpFromStop |
This example describes how to perform I2C data buffer transmission/reception between two intances using interrupt when one core is in STOP mode. | X | X | - | - | - | - | X | |||
|
IWDG |
IWDG_WindowMode |
How to periodically update the IWDG reload counter and simulate a software fault that generates an MCU IWDG reset when a programmed time period has elapsed. | X | X | X | - | X | X | X | ||
|
JPEG |
JPEG_DecodingFromFLASH_DMA |
This example demonstrates how to decode a JPEG image stored in the internal FLASH using the JPEG HW decoder in DMA mode and display the final ARGB8888 image on the LCD. | X | - | X | X | - | X | X | ||
|
JPEG_DecodingUsingFs_DMA |
This example demonstrates how to read jpeg file from SDCard memory using Fatfs, decode it using the JPEG HW decoder in DMA mode and display the final ARGB8888 image on KoD DSI-LCD mounted on board or a HDMI monitor Connected through the DSI-HDMI bridge board MB1232.A. | X | - | - | - | - | X | X | |||
|
JPEG_DecodingUsingFs_Interrupt |
This example demonstrates how to read jpeg file from SDCard memory using Fatfs, decode it using the JPEG HW decoder in interrupt mode and display the final ARGB8888 image on KoD DSI-LCD mounted on board or a HDMI monitor Connected through the DSI-HDMI bridge board MB1232.A. | X | - | - | - | - | X | X | |||
|
JPEG_DecodingUsingFs_Polling |
This example demonstrates how to read jpeg file from SDCard memory using Fatfs, decode it using the JPEG HW decoder in polling mode and display the final ARGB8888 image on KoD DSI-LCD mounted on board or a HDMI monitor Connected through the DSI-HDMI bridge board MB1232.A. | X | - | - | - | - | X | X | |||
|
JPEG_EncodingFromFLASH_DMA |
This example demonstrates how to read an RGB image stored in the internal FLASH, encode it using the JPEG HW encoder in DMA mode and save it in SDCard. | X | - | - | - | - | X | X | |||
|
JPEG_EncodingUsingFs_DMA |
This example demonstrates how to read bmp file from SDCard memory using Fatfs, encode it using the JPEG HW encoder in DMA mode and save it in SDCard. | X | - | - | - | - | X | X | |||
|
JPEG_MJPEG_VideoDecoding |
This example demonstrates how to use the HW JPEG decoder to decode an MJPEG video file located on the uSD and display the final ARGB8888 video on KoD DSI-LCD mounted on board or a HDMI monitor Connected through the DSI-HDMI bridge board MB1232.A. | X | - | - | - | - | X | X | |||
|
JPEG_MJPEG_VideoDecodingFromQSPI |
This example demonstrates how to use the HW JPEG decoder to decode an MJPEG video file located in the external QSPI flash and display the final ARGB8888 video on KoD DSI-LCD mounted on board or a HDMI monitor Connected through the DSI-HDMI bridge board MB1232.A. | X | - | - | - | - | X | X | |||
|
LCD_DSI |
LCD_DSI_CmdMode_DoubleBuffer |
This example provides a description of how to use the embedded LCD DSI controller (using IPs LTDC and DSI Host) to drive the KoD LCD mounted on board. | - | - | - | - | - | X | X | ||
|
LCD_DSI_CmdMode_PartialRefresh |
This example provides a description of how to use the embedded LCD DSI controller (using IPs LTDC and DSI Host) to drive the KoD LCD mounted on board. | - | - | - | - | - | X | X | |||
|
LCD_DSI_CmdMode_SingleBuffer |
This example provides a description of how to use the embedded LCD DSI controller (using IPs LTDC and DSI Host) to drive the KoD LCD mounted on board. | - | - | - | - | - | X | X | |||
|
LCD_DSI_CmdMode_TearingEffect |
This example provides a description of how to use the embedded LCD DSI controller (using IPs LTDC and DSI Host) to drive the KoD LCD mounted on board. | - | - | - | - | - | X | X | |||
|
LCD_DSI_CmdMode_TearingEffect_ExtPin |
This example provides a description of how to use the embedded LCD DSI controller (using IPs LTDC and DSI Host) to drive the KoD LCD mounted on board. | - | - | - | - | - | X | X | |||
|
LCD_DSI_ULPM_Data |
This example provides a description of how to use the embedded LCD DSI controller (using IPs LTDC and DSI Host) to drive the KoD LCD mounted on board and manage entry and exit in DSI ULPM mode on data lane only. In this mode, the DSI PHY state machine is entering a low power state on data lane and allows to save some power when the LCD does not need to display. | - | - | - | - | - | X | X | |||
|
LCD_DSI_ULPM_DataClock |
This example provides a description of how to use the embedded LCD DSI controller (using IPs LTDC and DSI Host) to drive the KoD LCD mounted on board and manage entry and exit in DSI ULPM mode on data lane and clock lane. | - | - | - | - | - | X | X | |||
|
LCD_DSI_VideoMode_DoubleBuffering |
This example provides a description of how to use the embedded LCD DSI controller (using IPs LTDC and DSI Host) to drive the KoD LCD mounted on board or a HDMI monitor Connected through the DSI-HDMI bridge board MB1232.A. | - | - | - | - | - | X | X | |||
|
LCD_DSI_VideoMode_SingleBuffer |
This example provides a description of how to use the embedded LCD DSI controller (using IPs LTDC and DSI Host) to drive the KoD LCD mounted on board or a HDMI monitor Connected through the DSI-HDMI bridge board MB1232.A. | - | - | - | - | - | X | X | |||
|
LPTIM |
LPTIM_Encoder |
This example shows how to configure the LPTIM peripheral in Encoder mode. | X | X | - | - | - | - | - | ||
|
LPTIM_PWMExternalClock |
This example describes how to configure and use LPTIM to generate a PWM at the lowest power consumption, using an external counter clock, through the HAL LPTIM API. | X | X | - | - | - | - | - | |||
|
LPTIM_PWM_LSE |
This example describes how to configure and use LPTIM to generate a PWM in low power mode using the LSE as a counter clock, through the HAL LPTIM API. | X | X | - | - | - | - | - | |||
|
LPTIM_PulseCounter |
This example describes how to configure and use LPTIM to count pulses through the LPTIM HAL API. | X | X | X | - | X | X | X | |||
|
LPTIM_Timeout |
This example describes how to implement a low power timeout to wake-up the system using the LPTIMER, through the HAL LPTIM API. | X | X | - | - | - | - | - | |||
|
LTDC |
LTDC_ColorKeying |
This example describe how to enable and use the LTDC color keying functionality. | X | - | - | - | - | - | - | ||
|
LTDC_Display_1Layer |
This example provides a description of how to configure LTDC peripheral to display an RGB image of size 480x272 and format RGB565 (16 bits/pixel) on LCD using only one layer. | X | - | X | X | - | - | - | |||
|
LTDC_Display_2Layers |
This example describes how to configure the LTDC peripheral to display two Layers at the same time. | X | - | X | X | - | - | - | |||
|
MDMA |
MDMA_DMA2D_Triggering |
This example describes how to use the MDMA with HW trigger set to the DMA2D transfer complete flag. | X | - | - | - | - | X | X | ||
|
MDMA_GPDMA_Triggering |
This example describes how to use the MDMA with HW trigger set to D2 Domain GP-DMA transfer complete flag. | X | - | - | - | - | - | - | |||
|
MDMA_LTDC_Triggering |
This example describes how to use the MDMA with HW trigger set to the LTDC Line Interrupt Flag. | X | - | - | - | - | - | - | |||
|
MDMA_LinkedList |
This example shows how to use the MDMA to perform a list of transfers. The transfer list is organized as a linked list , each time the current transfer ends the MDMA automatically relaod the next transfer parameters and starts it (without CPU intervention). | X | X | - | X | - | - | - | |||
|
MDMA_LinkedList_ColorsComp |
This example demonstrates how to use the MDMA in linked list mode to extract Red/Green and blue colors of an ARGB8888 image, resize each sub image (with a decimation factor /2) and display the result Red/green/blue decimated sub-images on the LCD. | X | - | - | - | - | X | X | |||
|
MDMA_RepeatBlock_Rotation |
This example provides a description of how to use the MDMA in repeat block trigger mode in order to rotate an RGB565 image by 90°, 180° and apply mirrot effect. | X | - | X | - | - | X | X | |||
|
MDMA_RepeatBlock_ZoomOut |
This example provides a description of how to use the MDMA in repeat block trigger mode in order to decimate an RGB565 image and copy it to the LCD frame buffer. | X | - | X | - | - | X | X | |||
|
MMC |
MMC_ReadWrite_DMA |
This example performs some write and read transfers to MMC card with SDMMC IP internal DMA mode and calculate write and read transfer speed. | - | - | X | - | - | - | - | ||
|
MMC_ReadWrite_IT |
This example performs some write and read transfers to MMC card with IT mode and calculate write and read transfer speed. | - | - | X | - | - | - | - | |||
|
OPAMP |
OPAMP_Calibration |
This example shows how to calibrate the OPAMP. | - | X | - | - | - | - | - | ||
|
OPAMP_Follower |
This example shows how to configure OPAMP peripheral in follower mode interconnected with DAC and COMP. | X | X | - | - | - | - | - | |||
|
OPAMP_PGA_ExternalBias |
This example shows how to configure OPAMP peripheral in PGA mode with bias voltage for the non inverting mode. | X | X | - | - | - | - | X | |||
|
PWR |
PWR_D1ON_D2OFF |
This example shows how to run the system with only D1 domain in Run mode while D2 domain is in Standby mode. | - | - | X | - | X | X | X | ||
|
PWR_D2ON_D1OFF |
This example shows how to run the system with only D2 domain in Run mode while D1 domain is in Standby mode. | - | - | X | - | X | X | X | |||
|
PWR_Domain3SystemControl |
This example shows how to maintain a basic activity of the system in low power mode with D3 Domain only by ensuring the communication between the D3SRAM, the BDMA and the LPUART when the system is in Stop mode. | X | X | X | - | X | X | X | |||
|
PWR_Hold_Mechanism |
This example shows how to use Hold Mechanism to allow the system to be re-initialized by a master CPU. This allows the master CPU to be woken up on both its own wakeup sources and the wakeup sources of the slave CPU, and keep the slave CPU in hold until released by the master CPU. | - | - | X | - | X | X | X | |||
|
PWR_STANDBY |
This example shows how to enter the system in STANDBY mode and wake-up from this mode using the external RESET or the Wakeup pin event. | X | X | X | - | - | - | X | |||
|
PWR_STANDBY_RTC |
This example shows how to enter the system in STANDBY mode and how to exit this mode using the external RESET or the RTC Wake-up Timer event. | X | X | X | - | X | X | X | |||
|
PWR_STOP_DataRetain |
This example shows how to retain data in D3SRAM when the system enter STOP mode with: - D1 domain in Standby mode to guarantee low power consumption. | X | X | - | - | - | - | - | |||
|
PWR_STOP_RTC |
This example shows how to enter the system in Stop mode and wakes up from this mode by using: - The RTC wakeup timer as wakeup source event. This event is connected to EXTI_Line19. | X | X | X | - | X | X | X | |||
|
PWR_STOP_STANDBY |
This example shows how to enter the system in STOP/STANDBY mode and wake-up from this mode using external RESET or WKUP pin connected to the User Button. | - | - | - | X | - | - | - | |||
|
PWR_VOS0_480MHZ |
How to over clock the system to 480MHz with VOS0 In this example, when the define USE_VOS0_480MHZ_OVERCLOCK (in main.h) is set to zero then : - The SystemClock_Config_400MHz() function is used to set the Flash latency and to configure the system clock : - The Cortex-M7 at 400MHz - Cortex-M4 at 200MHz. | - | X | - | - | X | - | - | |||
|
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. | X | - | - | - | - | - | - | ||
|
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. | X | - | - | - | - | - | - | |||
|
QSPI_MemoryMappedDual |
This example describes how to erase part of the QSPI memory, write data in IT mode and access to QSPI memory in memory-mapped dual mode to check the data in a forever loop. | X | - | X | X | - | - | X | |||
|
QSPI_ReadWriteDual_DMA |
This example describes how to use QSPI interface in dual mode. It erases part of the QSPI memory, writes data in DMA mode, reads data in DMA mode and compares the result in a forever loop. | X | - | - | - | - | - | - | |||
|
QSPI_ReadWrite_DMA |
This example describes how to erase part of the QSPI memory, read and write data in DMA mode. | X | - | - | - | - | - | - | |||
|
QSPI_ReadWrite_IT |
This example describes how to erase part of the QSPI memory, write data in Interrupt mode, read data in Interrupt mode and compare the result in a forever loop. | X | - | - | - | - | - | - | |||
|
RAMECC |
RAMECC_ErrorCount |
How to enable and activate notifications for RAMECC RAMs. | - | - | - | - | X | - | - | ||
|
RCC |
RCC_ClockConfig |
Configuration of the system clock (SYSCLK) and modification of the clock settings in Run mode, using the RCC HAL API. | X | X | X | - | X | X | X | ||
|
RNG |
RNG_MultiRNG |
Configuration of the RNG using the HAL API. This example uses the RNG to generate 32-bit long random numbers. | X | X | X | - | - | - | X | ||
|
RTC |
RTC_Alarm |
How to configure and generate an RTC alarm. | X | X | X | X | X | X | X | ||
|
RTC_Tamper |
How to write/read data to/from RTC Backup registers and to erase them on tamper detection. | X | X | - | - | - | - | - | |||
|
RTC_TimeStamp |
How to use the time-stamp feature. | X | X | - | - | - | - | - | |||
|
SAI |
SAI_AudioPlay |
This example shows how to use the SAI HAL API to play an audio file using the DMA circular mode and how to handle the buffer update. | X | - | - | - | - | - | - | ||
|
SAI_AudioPlayback |
This example shows how to use the SAI to playback audio data coming from two Microphones. | X | - | X | - | - | - | - | |||
|
SD |
SD_ReadWrite_DMA |
This example shows how to support UHS-I SD Card and achieve a frequency of 100MHz. | X | - | - | - | - | - | - | ||
|
SD_ReadWrite_DMADoubleBuffer |
This example shows how to support UHS-I SD Card and achieve a frequency of 100MHz. | X | - | - | - | - | - | - | |||
|
SD_ReadWrite_DMA_HS |
This example shows how to support UHS-I SD Card with a frequency of 116MHz. | X | - | - | - | - | - | - | |||
|
SD_ReadWrite_IT |
This example shows how to support UHS-I SD Card and achieve a frequency of 100MHz. | X | - | - | - | - | - | - | |||
|
SPDIFRX |
SPDIFRX_AudioPlay |
This example shows how to use the SPDIFRX HAL APIs to receive audio data then play them through the codec by using the SAI interface. | - | - | - | - | - | X | - | ||
|
SPI |
SPI_FullDuplex_ComDMA |
This example shows how to perform SPI data buffer transmission/reception between two instances in the same board via DMA. | - | X | - | - | X | - | - | ||
|
SPI_FullDuplex_ComIT |
This example shows how to perform SPI data buffer transmission/reception between two boards via IT. | - | X | - | - | X | - | - | |||
|
SPI_FullDuplex_ComPolling |
This example shows how to ensure SPI data buffer transmission/reception in Polling mode between two boards. | - | X | - | - | - | - | - | |||
|
TIM |
TIM_6Steps |
This example shows how to configure the TIM1 peripheral to generate 6 Steps. | X | X | - | - | - | - | - | ||
|
TIM_Asymetric |
This example shows how to configure the TIM peripheral to generate an Asymetric signal. | X | X | - | - | - | - | - | |||
|
TIM_Combined |
This example shows how to configure the TIM1 peripheral to generate 3 PWM combined signals with TIM1 Channel5. | X | X | - | - | - | - | - | |||
|
TIM_ComplementarySignals |
This example shows how to configure the TIM1 peripheral to generate three complementary TIM1 signals, to insert a defined dead time value, to use the break feature and to lock the desired parameters. | X | X | - | - | - | - | - | |||
|
TIM_DMA |
This example provides a description of how to use DMA with TIMER Update request to transfer Data from memory to TIMER Capture Compare Register 3 (TIMx_CCR3). | X | X | X | - | - | X | - | |||
|
TIM_DMABurst |
This example shows how to update the TIMER channel1 period and the duty cycle using the TIMER DMA burst feature. | X | X | - | - | - | - | - | |||
|
TIM_InputCapture |
This example shows how to use the TIM peripheral to measure the frequency of an external signal. | X | X | - | - | - | - | - | |||
|
TIM_OCToggle |
This example shows how to configure the TIM peripheral to generate four different signals with four different frequencies. | X | X | - | - | - | - | - | |||
|
TIM_OnePulse |
This example shows how to use the TIMER peripheral to generate a single pulse when a rising edge of an external signal is received on the TIMER Input pin. | X | X | - | - | - | - | - | |||
|
TIM_PWMOutput |
This example shows how to configure the TIM peripheral in PWM (Pulse Width Modulation) mode. | X | X | - | - | X | - | X | |||
|
TIM_Synchronization |
This example shows how to synchronize TIM1 and Timers (TIM3 and TIM4) in parallel mode. | X | X | - | - | - | - | - | |||
|
TIM_TimeBase |
How to configure the TIM peripheral to generate a time base of one second with the corresponding Interrupt request. | X | X | - | X | - | - | - | |||
|
UART |
LPUART_WakeUpFromStop |
This example shows how to configure a LPUART to wake up the MCU from STOP mode when a given stimulus is received. | X | - | - | - | - | - | - | ||
|
UART_HyperTerminal_DMA |
This example describes an UART transmission (transmit/receive) in DMA mode between a board and an Hyperterminal PC application. | X | - | - | - | - | - | - | |||
|
UART_HyperTerminal_IT |
This example describes an UART transmission (transmit/receive) between a board and an Hyperterminal PC application by using an interrupt. | X | - | - | - | - | - | - | |||
|
UART_Printf |
This example shows how to reroute the C library printf function to the UART. It outputs a message sent by the UART on the HyperTerminal. | X | - | - | - | - | - | - | |||
|
UART_TwoBoards_ComDMA |
This example describes an UART transmission (transmit/receive) in DMA mode between two boards. | - | X | - | - | - | - | - | |||
|
UART_TwoBoards_ComIT |
This example describes an UART transmission (transmit/receive) in interrupt mode between two boards. | - | X | - | - | - | - | - | |||
|
UART_TwoBoards_ComPolling |
This example describes an UART transmission (transmit/receive) in polling mode between two boards. | - | X | - | - | - | - | - | |||
|
UART_WakeUpFromStopUsingFIFO |
This example shows how to use UART HAL API to wake up the MCU from STOP mode using the UART FIFO level. | X | - | X | - | X | X | X | |||
|
USART |
USART_SlaveMode |
This example describes an USART-SPI communication (transmit/receive) between two boards where he USART is configured as a slave. | - | X | - | - | - | - | - | ||
|
WWDG |
WWDG_Example |
How to perform periodic update of WWDG counter and simulate a software fault that generates an MCU WWDG reset when a predefined time period has elapsed. | X | X | X | - | X | X | X | ||
| Total number of examples: 400 | 135 | 79 | 40 | 13 | 21 | 51 | 61 | ||||
|
Examples_LL |
COMP |
COMP_CompareGpioVsVrefInt_IT |
This example describes how to use a comparator peripheral to compare a voltage level applied on a GPIO pin with the internal voltage reference (VREFINT), in interrupt mode. This example is based on the STM32H7xx COMP LL API. The peripheral initialization is done using LL unitary service functions for optimization purpose (performance and size). | - | X | - | - | - | - | - | |
|
DAC |
DAC_GenerateWaveform_TriggerHW |
This example describes how to use the DAC peripheral to generate a waveform voltage from digital data stream transfered by DMA. This example is based on the STM32H7xx DAC LL API. The peripheral initialization is done using LL unitary service functions for optimization purpose (performance and size). | - | X | - | - | - | - | - | ||
|
RTC |
RTC_Alarm |
How to configure and generate Alarm using the RTC peripheral. | - | X | - | - | - | - | - | ||
|
SPI |
SPI_FullDuplex_ComIT |
This example shows how to perform SPI data buffer transmission/reception between two instances in the same board by using interruptions. | - | X | - | - | - | - | - | ||
| Total number of examples_ll: 4 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | ||||
|
Applications |
Audio |
Audio_playback_and_record |
This application shows how: - To use the different functionalities of the SAI (Serial Audio Interface) to ensure audio record and playback via ST MEMS microphones (MP34DT01). | X | - | - | - | - | - | - | |
|
Display |
LTDC_AnimatedPictureFromSDCard |
This application describes how to display an animated picture on LCD saved under microSD. | X | - | - | - | - | - | - | ||
|
LTDC_Paint |
This application describes how to configure LCD touch screen and attribute an action related to configured touch zone and how to save BMP picture in USB Disk. | X | - | - | X | - | - | - | |||
|
LTDC_PicturesFromSDCard |
This application describes how to display pictures on LCD saved under SD card. | X | - | - | - | - | - | - | |||
|
EEPROM |
EEPROM_Emulation |
This application describes the software solution for substituting standalone EEPROM by emulating the EEPROM mechanism using the on-chip Flash of STM32H743x devices. | X | X | - | - | - | - | - | ||
|
ExtMem_CodeExecution |
ExtMem_Application\FreeRTOS |
How to implement thread creation using CMSIS RTOS API with execution from external memory. | X | - | - | - | - | - | - | ||
| ExtMem_Application\LedToggling | This application provides sample LED toogling program with execution from external memory. | X | - | - | - | - | - | - | |||
| ExtMem_Boot | This directory contains a set of sources files and pre-configured projects that describes how to build an application for execution from external memory using the ExtMem_Boot firmware. | X | - | - | - | - | - | - | |||
|
FPU |
FPU_Fractal |
This application explains how to use, and demonstrates the benefits brought by, the STM32H7 floating-point units (FPU). The CortexM7 FPU is an implementation of the ARM FPv5-SP double-precision FPU. | X | - | - | - | - | X | X | ||
|
FatFs |
FatFs_uSD_Standalone |
This application provides a description on how to use STM32Cube™ firmware with FatFs middleware component as a generic FAT file system module. The objective is to develop an application making the most of the features offered by FatFs to configure a microSD drive. | - | X | - | - | - | - | - | ||
|
FatFs_Dual_Instance |
This application provides a description on how to use STM32Cube™ firmware with FatFs middleware component as a generic FAT file system module. The objective is to develop an application making the most of the features offered by FatFs to configure a microSD and USB drives. | - | - | - | - | - | - | X | |||
|
FatFs_MultiDrives |
This application provides a description on how to use STM32Cube firmware with FatFs middleware component as a generic FAT file system module, in order to develop an application exploiting FatFs offered features with multidrives (USB Disk, uSD) configuration. | X | - | - | - | - | - | - | |||
|
FatFs_RAMDisk |
This application provides a description on how to use STM32Cube firmware with FatFs middleware component as a generic FAT file system module, in order to develop an application exploiting FatFs offered features with RAM disk (SRAM) drive configuration. | X | - | - | - | - | - | - | |||
|
FatFs_SDRAMDisk |
This application provides a description on how to use STM32Cube™ firmware with FatFs middleware component as a generic FAT file system module. The objective is to develop an application making the most of the features offered by FatFs to configure a RAMDisk drive. | X | - | - | - | - | - | - | |||
| This application provides a description on how to use STM32Cube™ firmware with FatFs middleware component as a generic FAT file system module. The objective is to develop an application making the most of the features offered by FatFs to access the eMMC card. | - | - | X | - | - | - | - | ||||
|
FatFs_USBDisk_RTOS |
This application provides a description on how to use STM32Cube firmware with FatFs middleware component as a generic FAT file system module and STM32 USB On-The-Go (OTG) host library, in Full Speed (FS) and High Speed (HS) modes, in order to develop an application exploiting FatFs offered features with USB disk drive configuration. | X | - | - | - | - | - | - | |||
|
FatFs_USBDisk_Standalone |
This application provides a description on how to use STM32Cube firmware with FatFs middleware component as a generic FAT file system module and STM32 USB On-The-Go (OTG) host library, in Full Speed (FS) and High Speed (HS) and modes, in order to develop an application exploiting FatFs offered features with USB disk drive configuration. | X | - | - | - | - | - | - | |||
|
FatFs_uSD_DMA_RTOS |
This application provides a description on how to use STM32Cube firmware with FatFs middleware component as a generic FAT file system module, in order to develop an application exploiting FatFs offered features with microSD drive in RTOS mode configuration. | X | - | - | - | - | - | - | |||
|
FatFs_uSD_DMA_Standalone |
This application provides a description on how to use STM32Cube™ firmware with FatFs middleware component as a generic FAT file system module. The objective is to develop an application making the most of the features offered by FatFs to configure a microSD drive. | X | - | - | - | - | - | - | |||
|
FatFs_uSD_Standalone |
This application provides a description on how to use STM32Cube™ firmware with FatFs middleware component as a generic FAT file system module. The objective is to develop an application making the most of the features offered by FatFs to configure a microSD drive. | X | - | - | - | - | - | - | |||
|
FreeRTOS |
FreeRTOS_AMP_Dual_RTOS |
This example shows how to use FreeRTOS's message buffers to pass data from one core to another. Each core has his own FreeRTOS instance. | - | - | X | - | X | - | - | ||
|
FreeRTOS_AMP_RTOS_BareMetal |
This example shows how to use FreeRTOS's message buffers to pass data from one core to another. | - | - | X | - | X | - | - | |||
|
FreeRTOS_HwSemaphoreCoreSync |
This application shows how to use embedded hardware semaphore to send nofification between cores. | - | - | - | - | - | X | X | |||
|
FreeRTOS_MPU |
This application aims to describe how to use the MPU feature of FreeRTOS. | X | X | - | - | - | - | - | |||
|
FreeRTOS_Mail |
How to use mail queues with CMSIS RTOS API. | - | - | - | X | - | - | - | |||
|
FreeRTOS_SemaphoreFromISR |
This application shows how to use semaphore from ISR with CMSIS RTOS API . | X | X | - | - | - | - | - | |||
|
FreeRTOS_ThreadCreation |
How to implement thread creation using CMSIS RTOS API with execution from external memory. | X | X | - | X | - | - | - | |||
|
IAP |
IAP_Binary_Template |
This directory contains a set of sources files that build the application to be loaded into Flash memory using In-Application Programming (IAP) through USART. | X | - | - | - | - | - | - | ||
|
IAP_Main |
This directory contains a set of sources files and pre-configured projects that describes how to build an In-Application Programming (IAP) that uses an USART interface to load an application binary. | X | - | - | - | - | - | - | |||
|
LibJPEG |
LibJPEG_Decoding |
This application demonstrates how to use the libjpeg API to decode a jpeg file. | X | - | - | - | - | - | - | ||
|
LibJPEG_Encoding |
This application demonstrates how to use the libjpeg API to encode and decode a BMP image into a jpeg file. | X | - | - | - | - | - | - | |||
|
LwIP |
LwIP_HTTP_Server_Netconn_RTOS |
This application guides STM32Cube HAL API users to run a http server application based on Netconn API of LwIP TCP/IP stack The communication is done with a web browser application in a remote PC. | X | X | - | - | - | - | - | ||
|
LwIP_HTTP_Server_Raw |
This application guides STM32Cube HAL API users to run a http server application based on Raw API of LwIP TCP/IP stack The communication is done with a web browser application in a remote PC. | X | - | - | - | - | - | - | |||
|
LwIP_HTTP_Server_Socket_RTOS |
This application guides STM32Cube HAL API users to run a http server application based on Socket API of LwIP TCP/IP stack The communication is done with a web browser application in a remote PC. | X | - | - | - | - | - | - | |||
|
LwIP_TCP_Echo_Client |
This application guides STM32Cube HAL API users to run TCP Echo Client application based on Raw API of LwIP TCP/IP stack To run this application, On the remote PC, open a command prompt window. | X | - | - | - | - | - | - | |||
|
LwIP_TCP_Echo_Server |
This application guides STM32Cube HAL API users to run TCP Echo Server application based on Raw API of LwIP TCP/IP stack To run this application, On the remote PC, open a command prompt window. | X | - | - | - | - | - | - | |||
|
LwIP_TFTP_Server |
This application guides STM32Cube HAL API users to run a tftp server application for STM32H7xx devices. | X | - | - | - | - | - | - | |||
|
LwIP_UDPTCP_Echo_Server_Netconn_RTOS |
This application guides STM32Cube HAL API users to run a UDP/TCP Echo Server application based on Netconn API of LwIP TCP/IP stack To run this application, On the remote PC, open a command prompt window. | X | - | - | - | - | - | - | |||
|
LwIP_UDP_Echo_Client |
This application guides STM32Cube HAL API users to run a UDP Echo Client application based on Raw API of LwIP TCP/IP stack To run this application, On the remote PC, open a command prompt window. | X | - | - | - | - | - | - | |||
|
LwIP_UDP_Echo_Server |
This application guides STM32Cube HAL API users to run UDP Echo Server application based on Raw API of LwIP TCP/IP stack To run this application, On the remote PC, open a command prompt window. | X | - | - | - | - | - | - | |||
|
OpenAMP |
OpenAMP_PingPong |
This application shows How to use OpenAMP MW to create a communication channel (called rpmsg channel) between cores and send mutual messages in the two directions. | - | - | X | - | - | X | X | ||
|
OpenAMP_RTOS_PingPong |
This application shows How to use OpenAMP MW to create a communication channel (called rpmsg channel) between cores and send mutual messages in the two directions. | - | - | X | - | - | X | X | |||
|
ResourcesManager |
This application shows how to use the ResourcesManager in order to share resources between cores. | - | - | X | - | - | X | X | |||
|
ResourcesManager_UsageWithNotification |
This application shows how to use the ResourcesManager in order to share resources between cores. | - | - | X | - | - | X | X | |||
|
STemWin |
STemWin_HelloWorld |
This directory contains a set of source files that implement a simple "Hello World" application based on STemWin for STM32H750xx devices. | X | - | X | X | - | X | X | ||
|
STemWin_SampleDemo |
This directory contains a set of source files that implement demo based on STemWin for STM32H7xx devices. | X | - | X | X | - | - | - | |||
|
STemWin_acceleration |
This directory contains a set of source files that implement a simple "acceleration" application based on STemWin for STM32H7xx devices. | - | - | - | - | - | X | X | |||
|
STemWin_animation |
This directory contains a set of source files that implement a simple "animation" application based on STemWin for STM32H7xx devices. | - | - | - | - | - | X | X | |||
|
STemWin_fonts |
This directory contains a set of source files that implement a simple "fonts" application based on STemWin for STM32H7xx devices. | - | - | - | - | - | X | X | |||
|
STemWin_memory_device |
This directory contains a set of source files that implement a simple "memory device" application based on STemWin for STM32H7xx devices. | - | - | - | - | - | X | X | |||
|
USB_Device |
Audio_Standalone |
This application is a part of the USB Device Library package using STM32Cube firmware. It describes how to use USB device application based on the AUDIO Class implementation of an audio streaming (Out: Speaker/Headset) capability on the STM32H7xx devices. | X | - | - | - | - | - | X | ||
|
CDC_Standalone |
This application is a part of the USB Device Library package using STM32Cube firmware. It describes how to use USB device application based on the Device Communication Class (CDC) following the PSTN subprotocol in the STM32H747xx devices using the OTG-USB and UART peripherals. | X | - | - | - | - | - | X | |||
|
CustomHID_Standalone |
This application is a part of the USB Device Library package using STM32Cube firmware. It describes how to use USB device application based on the Custom HID Class on the STM32H747xx devices. | X | - | - | - | - | X | X | |||
|
DFU_Standalone |
This application is a part of the USB Device Library package using STM32Cube firmware. It describes how to use USB device application based on the Device Firmware Upgrade (DFU) on the STM32H7xx devices. | X | - | X | - | - | X | X | |||
|
DualCore_Standalone |
This application is a part of the USB Device Library package using STM32Cube firmware. It describes how to use USB device application based on the STM32H7xx multi core support feature integrating the Device Communication Class (CDC) and Human Interface (HID) in the same project. | X | - | - | - | - | - | X | |||
|
HID-CM4_MSC-CM7 |
This application shows how to use embedded hardware semaphore to send nofification between cores. | - | - | - | - | - | - | X | |||
|
HID_LPM_Standalone |
The STM32H7xx devices support the USB Link Power Management Protocol (LPM-L1) and complies with the USB 2.0 LPM-L1 ECN. The hpcd.Init.lpm_enable in the usbd_conf.c should be set to 1 to enable the support for LPM-L1 protocol in the USB stack. | X | - | - | - | - | - | - | |||
|
HID_Standalone |
This application is a part of the USB Device Library package using STM32Cube firmware. It describes how to use USB device application based on the Human Interface (HID) on the STM32H7x devices. | X | - | X | X | - | X | X | |||
|
MSC_Standalone |
This application is a part of the USB Device Library package using STM32Cube firmware. It describes how to use USB device application based on the Mass Storage Class (MSC) on the STM32H7xx devices. | X | - | - | - | - | X | X | |||
|
USB_Host |
AUDIO_Standalone |
This application is a part of the USB Host Library package using STM32Cube firmware. It describes how to use USB host application based on the Audio OUT class on the stm32h7xx devices. | X | - | - | - | - | - | - | ||
|
CDC_Standalone |
This application is a part of the USB Host Library package using STM32Cube firmware. It describes how to use USB host application based on the Communication Class (CDC) on the stm32h7xx devices. | X | - | - | - | - | - | X | |||
|
DualCore_Standalone |
This application is a part of the USB Host Library package using STM32Cube firmware. It describes how to use USB host application based on the STM32H7x multi core support feature integrating Mass Storage (MSC) and Human Interface (HID) in the same project. | X | - | - | - | - | - | X | |||
|
DynamicSwitch_Standalone |
This application is a part of the USB Host Library package using STM32Cube firmware. It describes how to use dynamically switch, on the same port, between available USB host applications on the stm32h7xx devices. | X | - | - | - | - | - | - | |||
|
FWupgrade_Standalone |
This application is a part of the USB Host Library package using STM32Cube firmware. It describes how to use USB host application based on the In-Application programming (IAP) on the STM32H7xx devices. | X | - | - | - | - | - | X | |||
|
HID_RTOS |
This application is a part of the USB Host Library package using STM32Cube firmware. It describes how to use USB host application based on the Human Interface Class (HID) on the STM32H7x devices. | X | - | - | - | - | - | X | |||
|
HID_Standalone |
This application is a part of the USB Host Library package using STM32Cube firmware. It describes how to use USB host application based on the Human Interface Class (HID) on the STM32H7x devices. | X | - | X | - | - | X | X | |||
|
MSC_RTOS |
This application is a part of the USB Host Library package using STM32Cube firmware. It describes how to use USB host application based on the Mass Storage Class (MSC) on the STM32H7x devices. | X | - | - | - | - | - | X | |||
|
MSC_Standalone |
This application is a part of the USB Host Library package using STM32Cube firmware. It describes how to use USB host application based on the Mass Storage Class (MSC) on the STM32H7x devices. | X | - | X | X | - | X | X | |||
|
mbedTLS |
SSL_Client |
This application describes how to run an SSL client application based on mbedTLS crypto library and LwIP TCP/IP stack. | X | - | - | - | - | - | - | ||
|
SSL_Server |
This application describes how to run an SSL server application based on mbedTLS crypto library and LwIP TCP/IP stack. | X | - | - | - | - | - | - | |||
| Total number of applications: 126 | 54 | 6 | 13 | 7 | 2 | 17 | 27 | ||||
|
Demonstrations |
NUCLEO-H743ZI / NUCLEO-H745ZI-Q |
NUCLEO Demonstration |
Demonstration firmware based on STM32Cube. This example
helps you to discover STM32 Cortex-M devices that are plugged onto your STM32 Nucleo board |
- | X | - | - | X | - | - | |
| STM32H747I-EVAL/ STM32H747I-DISCO |
EmbeddedWizard |
This demonstration showcases a GUI created with Embedded Wizard using STMicroelectronics' graphic accelerator DMA2D. | - | - | - | - | - | X | X | ||
|
MenuLauncher |
The STM32Cube demonstration platform comes on top of the STM32Cube(TM) as a firmware package that offers a full set of software components based on a modular architecture. | - | - | - | - | - | X | X | |||
|
STemWin |
The STM32Cube Demonstration platform is built around the powerful graphical library STemWin and the FreeRTOS real time operating system and uses almost the whole STM32 capability to offer a large scope of usage based on the STM32Cube HAL BSP and several middleware components. | - | - | - | - | - | X | X | |||
|
TouchGFX |
This is the official TouchGFX demonstration developed jointly between ST and Draupner Graphics for the STM32H747I -EVAL/DISCO board. | - | - | - | - | - | X | X | |||
| STM32H743I-EVAL | STemWin | The STM32Cube Demonstration platform is built around the powerful graphical library STemWin and the FreeRTOS real time operating system and uses almost the whole STM32 capability to offer a large scope of usage based on the STM32Cube HAL BSP and several middleware components. | X | ||||||||
| STM32H745I-DISCO | Demonstration | The STM32Cube Demonstration platform is built around the powerful
analog peripherals and uses almost STM32 capabilities to offer a large scope of usage based on the STM32Cube HAL. |
X | ||||||||
| STM32H750B-DK | Demonstration | The STM32H750B-DK demonstration platform is built around the
STM32H750xx device with execution from external QSPI memory. It is composed of a MenuLauncher and 2 demonstrations: - STemWin: built around the powerful graphical library STemWin and the FreeRTOS real time operating system - TouchGFX: built around the powerful graphical library TouchGFX and the FreeRTOS real time operating system |
X | ||||||||
| Total number of demonstrations: 13 | 1 | 1 | 1 | 1 | 1 | 4 | 4 | ||||
| Total number of projects: 569 | 192 | 92 | 59 | 23 | 29 | 77 | 97 |


What is an Event Listener?
An event listener is a procedure or function in a computer program that waits for an event to occur; that event may be a user clicking or moving the mouse, pressing a key on the keyboard, or an internal timer or interrupt.
How to use an Event Listener.
What is Bubbling?
Bubbling the inner most element's event is handled first and then the outer.
Capturing the outer most element's event is handled first and then the inner.
What kind of Events are there?
You can also Remove the EventListeners
The removeEventListener() method removes event handlers that have been placed
One reason we would do this is when we have a answer given and don’t want it to change.
To remove event handlers, the function specified with the addEventListener() method must be an external function.


{% load static %}
Add an event to get a visualization of how heart rate (and temperature) varied relative to getting sick.
Add a sickness event to analyze


Dr. Chu obtained his Bachelor and Master degrees in Chemistry at Nanjing University under the guidance of Prof. Wei-Yin Sun. He then joined Prof. Gregory Verdine’s laboratory at Harvard University to pursue his Ph.D. degree, where he was interested in drugging the “undruggable” proteome with stapled peptides. In 2014, he started postdoctoral training as a George Hewitt Postdoctoral Fellow in Prof. Alan Saghatelian’s group at the Salk Institute. During his postdoc, Dr. Chu discovered and characterized a novel class of microproteins which are encoded by small open reading frames. Dr. Chu started his independent program at China Pharmaceutical University in 2020, where his laboratory is focusing on developing novel chemical tools to address fundamental questions in biology and drug discovery.


| Jump to DART Documentation Main Index |
DART provides a selection of options for the coordinate system in which all observations and all model state vector locations are described. All executables are built with a single choice from the available location modules. The names of these modules are all location_mod.
The core algorithms of DART work with many different models which have a variety of coordinate systems. This directory provides code for creating, setting/getting, copying location information (coordinates) independently of the actual specific coordinate information. It also contains distance routines needed by the DART algorithms.
Each of the different location_mod.f90 files provides the same set of interfaces and defines a 'module location_mod', so by selecting the proper version in your path_names_xxx file you can compile your model code with the main DART routines.
Other schemes can be added, as needed by the models. Possible ideas are a non-periodic version of the 1d, 2d cartesian versions. Email dart at ucar.edu if you have a different coordinate scheme which we might want to support.
Each location module option has a different namelist. See the specific documentation for the location option of choice.
See specific location documentation.
none at this time
none
N/A
DART software - Copyright UCAR. This open source software is provided by UCAR, "as is", without charge, subject to all terms of use at http://www.image.ucar.edu/DAReS/DART/DART_download


Please choose 'View Source' in your browser to view the HTML, or File | Save to save this file to your hard drive for editing.
This article showcases JScript's ability to allow useful scripts to be written in a relatively object-oriented manner.
This utility was first "published" via my blog.
The code should be run under using the Windows Scripting Host (WSH) Console client, cscript.exe, e.g.:
cscript jsgrep.js -il "MyHeader\.h" *.cpp
To set the console client to be the default, use:
cscript /H:cscript
You can then run the utility simply with:
jsgrep -il "MyHeader\.h" *.cpp
To run the utility under the Windows Script Debugger, if installed, use:
cscript //x jsgrep.js -il "MyHeader\.h" *.cpp
As is often the way with these things, the code is easier to understand in a different order to that in which it appears in the source file. In this particular case, it's easiest to look at the main program logic before the classes which implement it. The first section of this declares a map of command line switches (all initially false), then parses the command line arguments to determine which are set:
var mapOpts =
{
'c' : false // (c)ount
, 'i' : false // (i)gnore case
, 'l' : false // (l)ist files
, 'n' : false // show line (n)umbers
, 'r' : false // (r)ecursively match file names
, 'v' : false // in(v)ert match (i.e. show non-matching lines)
};
var i, cArgs = WScript.Arguments.length;
var nFirstNonOptArg = cArgs;
for (i = 0; i < cArgs; ++i)
{
var strArg = WScript.Arguments(i);
if (strArg == '--')
{
// end of args flag (to allow REs beginning with '-')
nFirstNonOptArg = ++i;
break;
}
else if (strArg.charAt(0) == '-')
{
var j, cChars = strArg.length;
for (j = 1; j < cChars; ++j)
mapOpts[strArg.charAt(j)] = true;
}
else
{
nFirstNonOptArg = i;
break;
}
}
The next chunk of code deals with the non-switch command line arguments:
exactly one regular expression followed by zero or more files specs. If the
latter contain any wildcard characters (* or ?), they are expanded by shelling a
DIR /B
command, a process which I believe is known as
globbing.
if (nFirstNonOptArg == cArgs)
{
// No RE
WScript.Echo('usage: jsgrep [-cilnrv] regexp [file ...]');
WScript.Quit(1);
}
var arrFiles = new Array();
var oShell = null;
for (i = nFirstNonOptArg + 1; i < cArgs; ++i)
{
var strFileArg = WScript.Arguments(i);
if (strFileArg.indexOf('*') >= 0 || strFileArg.indexOf('?') >= 0)
{
if (oShell == null)
oShell = new ActiveXObject('WScript.Shell');
var nLastSep = strFileArg.lastIndexOf('\\');
var strPath = (nLastSep >= 0) ?
strFileArg.slice(0, ++nLastSep) : '';
var strCmd = 'cmd.exe /c dir /b ';
if (mapOpts['r'])
strCmd += '/s ';
var procGlob = oShell.Exec(strCmd + strFileArg);
while (!procGlob.StdOut.AtEndOfStream)
{
if (mapOpts['r'])
arrFiles[arrFiles.length] = procGlob.StdOut.ReadLine();
else
arrFiles[arrFiles.length] = strPath +
procGlob.StdOut.ReadLine();
}
}
else
arrFiles[arrFiles.length] = strFileArg;
}
var cFiles = arrFiles.length;
if (cFiles == 0)
{
if (nFirstNonOptArg < cArgs - 1)
{
WScript.Echo('no matching files found');
WScript.Quit(1)
}
else
{
arrFiles[0] = '-'; // stdin
cFiles = 1;
}
}
var re = new RegExp(WScript.Arguments(nFirstNonOptArg),
mapOpts['i'] ? 'i' : '');
var bNegateMatch = mapOpts['v'];
var bSingleFile = (cFiles == 1);
The main logic of the script is expressed in terms of a "helper" object,
oAction
. Its instantiation and various implementations will be
covered later, but for now all we need to know is that it must implement the
following "interface":
void FilePreamble(string strFile, bool bIsOnlyFile);
bool Action();
void FilePostamble(string strFile, bool bIsOnlyFile);
void ProgPostamble(bool bSingleFileOnly);
The logic itself is then relatively simple iteration and helper method
invocation, though there is a disproportionately large amount of logic dedicated
to properly handling stdin
as an explicit or implicit source of
input:
var strCurrFile = '', nLineNumber = 1;
var oFSO = new ActiveXObject('Scripting.FileSystemObject');
var ts;
for (i = 0; i < cFiles; ++i)
{
strCurrFile = arrFiles[i];
var bNeedClose = false;
if (strCurrFile == '-')
{
ts = WScript.stdin;
}
else
{
try
{
ts = oFSO.OpenTextFile(strCurrFile);
bNeedClose = true;
}
catch(e)
{
WScript.Echo('Failed to open "' + strCurrFile + '" - ' +
e.description);
continue;
}
}
nLineNumber = 1;
oAction.FilePreamble(strCurrFile, bSingleFile);
var bContinue = true;
while (bContinue && !ts.AtEndOfStream)
{
var strLine = ts.ReadLine();
if ((strLine.match(re) == null) == bNegateMatch)
bContinue = oAction.Action(strLine);
++nLineNumber;
}
oAction.FilePostamble(strCurrFile, bSingleFile);
if (bNeedClose) ts.Close();
}
oAction.ProgPostamble(bSingleFile);
Next in the tour of the code comes the instantiation of the helper object. There is a choice of implementation: either a Printer, which shows each matching line and is the default (no switches) behaviour; or a Counter, which is badly named as it might not be required to actually keep the count, but just to identify that there is at least one match:
var oAction = mapOpts['c'] ? new Counter(true) : mapOpts['l'] ?
new Counter(false) : new Printer(mapOpts['n']);
Finally comes the implementations of the helper object. All that is of note
here is the fact that JScript objects are implemented as expando ones
(i.e. they implement COM's IDispatchEx
interface), so the methods
can be attached to the object at construction time. I'm convinced there must be
a more elegant way of doing this, with prototypes perhaps, but it works
fine in this simple example:
// Counter
function Count_FilePreamble(strFile, bIsOnlyFile)
{
this.cFileMatches = 0;
}
function Count_Action(strLine)
{
++this.cFileMatches;
++this.cTotalMatches;
return this.bCountReqd;
}
function Count_FilePostamble(strFile, bIsOnlyFile)
{
if (bIsOnlyFile)
{
if (this.bCountReqd)
WScript.Echo(this.cFileMatches);
else
WScript.Echo('Match found');
}
else if (this.cFileMatches > 0)
{
if (this.bCountReqd)
WScript.Echo(strFile + ": " + this.cFileMatches);
else
WScript.Echo(strFile);
}
}
function Count_ProgPostamble(bOneFileOnly)
{
if (this.bCountReqd && !bOneFileOnly)
WScript.Echo('Total: ' + this.cTotalMatches);
}
function Counter(bCountReqd)
{
// properties
this.bCountReqd = bCountReqd;
this.cFileMatches = 0;
this.cTotalMatches = 0;
// methods
this.FilePreamble = Count_FilePreamble;
this.Action = Count_Action;
this.FilePostamble = Count_FilePostamble;
this.ProgPostamble = Count_ProgPostamble;
}
// Printer
function Print_Action(strLine)
{
if (bSingleFile)
WScript.Echo((this.bNumbered ? nLineNumber : '') + strLine);
else
WScript.Echo(strCurrFile + (this.bNumbered ? '('
+ nLineNumber + ')' : '') + ': ' + strLine);
return true;
}
function Printer(bNumbered)
{
// properties
this.bNumbered = bNumbered;
// methods
this.FilePreamble = DoNothing2;
this.Action = Print_Action;
this.FilePostamble = DoNothing2;
this.ProgPostamble = DoNothing1;
}


Reinforcement Learning in Unity
Reinforcement learning is an artificial intelligence technique that trains agents to perform tasks by rewarding desirable behavior. During reinforcement learning, an agent explores its environment, observes the state of things, and, based on those observations, takes an action. If the action leads to a better state, the agent receives a positive reward. If it leads to a less desirable state, then the agent receives no reward or a negative reward (punishment). As the agent learns during training, it optimizes its decision making so that it receives the maximum reward over time.
ML-Agents uses a reinforcement learning technique called Proximal Policy Optimization (PPO). PPO uses a neural network to approximate the ideal function that maps an agent's observations to the best action an agent can take in a given state. The ML-Agents PPO algorithm is implemented in TensorFlow and runs in a separate Python process (communicating with the running Unity application over a socket).
Note: if you aren't studying machine and reinforcement learning as a subject and just want to train agents to accomplish tasks, you can treat PPO training as a black box. There are a few training-related parameters to adjust inside Unity as well as on the Python training side, but you do not need in-depth knowledge of the algorithm itself to successfully create and train agents. Step-by-step procedures for running the training process are provided in the Training section.
The Simulation and Training Process
Training and simulation proceed in steps orchestrated by the ML-Agents Academy class. The Academy works with Agent and Brain objects in the scene to step through the simulation. When either the Academy has reached its maximum number of steps or all agents in the scene are done, one training episode is finished.
During training, the external Python training process communicates with the Academy to run a series of episodes while it collects data and optimizes its neural network model. The type of Brain assigned to an agent determines whether it participates in training or not. The External brain communicates with the external process to train the TensorFlow model. When training is completed successfully, you can add the trained model file to your Unity project for use with an Internal brain.
The ML-Agents Academy class orchestrates the agent simulation loop as follows:
- Calls your Academy subclass's
AcademyReset()
function. - Calls the
AgentReset()
function for each agent in the scene. - Calls the
CollectObservations()
function for each agent in the scene. - Uses each agent's Brain class to decide on the agent's next action.
- Calls your subclass's
AcademyAct()
function. - Calls the
AgentAction()
function for each agent in the scene, passing in the action chosen by the agent's brain. (This function is not called if the agent is done.) - Calls the agent's
AgentOnDone()
function if the agent has reached itsMax Step
count or has otherwise marked itself asdone
. Optionally, you can set an agent to restart if it finishes before the end of an episode. In this case, the Academy calls theAgentReset()
function. - When the Academy reaches its own
Max Step
count, it starts the next episode again by calling your Academy subclass'sAcademyReset()
function.
To create a training environment, extend the Academy and Agent classes to implement the above methods. The Agent.CollectObservations()
and Agent.AgentAction()
functions are required; the other methods are optional — whether you need to implement them or not depends on your specific scenario.
Note: The API used by the Python PPO training process to communicate with and control the Academy during training can be used for other purposes as well. For example, you could use the API to use Unity as the simulation engine for your own machine learning algorithms. See Python API for more information.
Organizing the Unity Scene
To train and use ML-Agents in a Unity scene, the scene must contain a single Academy subclass along with as many Brain objects and Agent subclasses as you need. Any Brain instances in the scene must be attached to GameObjects that are children of the Academy in the Unity Scene Hierarchy. Agent instances should be attached to the GameObject representing that agent.
You must assign a brain to every agent, but you can share brains between multiple agents. Each agent will make its own observations and act independently, but will use the same decision-making logic and, for Internal brains, the same trained TensorFlow model.
Academy
The Academy object orchestrates agents and their decision making processes. Only place a single Academy object in a scene.
You must create a subclass of the Academy class (since the base class is abstract). When you create your Academy subclass, you can implement the following methods (all are optional):
InitializeAcademy()
— Prepare the environment the first time it launches.AcademyReset()
— Prepare the environment and agents for the next training episode. Use this function to place and initialize entities in the scene as necessary.AcademyStep()
— Prepare the environment for the next simulation step. The base Academy class calls this function before calling anyAgentAction()
methods for the current step. You can use this function to update other objects in the scene before the agents take their actions. Note that the agents have already collected their observations and chosen an action before the Academy invokes this method.
The base Academy classes also defines several important properties that you can set in the Unity Editor Inspector. For training, the most important of these properties is Max Steps
, which determines how long each training episode lasts. Once the Academy's step counter reaches this value, it calls the AcademyReset()
function to start the next episode.
See Academy for a complete list of the Academy properties and their uses.
Brain
The Brain encapsulates the decision making process. Brain objects must be children of the Academy in the Unity scene hierarchy. Every Agent must be assigned a Brain, but you can use the same Brain with more than one Agent.
Use the Brain class directly, rather than a subclass. Brain behavior is determined by the brain type. During training, set your agent's brain type to External. To use the trained model, import the model file into the Unity project and change the brain type to Internal. See Brains for details on using the different types of brains. You can extend the CoreBrain class to create different brain types if the four built-in types don't do what you need.
The Brain class has several important properties that you can set using the Inspector window. These properties must be appropriate for the agents using the brain. For example, the Vector Observation Space Size
property must match the length of the feature vector created by an agent exactly. See Agents for information about creating agents and setting up a Brain instance correctly.
See Brains for a complete list of the Brain properties.
Agent
The Agent class represents an actor in the scene that collects observations and carries out actions. The Agent class is typically attached to the GameObject in the scene that otherwise represents the actor — for example, to a player object in a football game or a car object in a vehicle simulation. Every Agent must be assigned a Brain.
To create an agent, extend the Agent class and implement the essential CollectObservations()
and AgentAction()
methods:
CollectObservations()
— Collects the agent's observation of its environment.AgentAction()
— Carries out the action chosen by the agent's brain and assigns a reward to the current state.
Your implementations of these functions determine how the properties of the Brain assigned to this agent must be set.
You must also determine how an Agent finishes its task or times out. You can manually set an agent to done in your AgentAction()
function when the agent has finished (or irrevocably failed) its task. You can also set the agent's Max Steps
property to a positive value and the agent will consider itself done after it has taken that many steps. When the Academy reaches its own Max Steps
count, it starts the next episode. If you set an agent's ResetOnDone
property to true, then the agent can attempt its task several times in one episode. (Use the Agent.AgentReset()
function to prepare the agent to start again.)
See Agents for detailed information about programing your own agents.
Environments
An environment in ML-Agents can be any scene built in Unity. The Unity scene provides the environment in which agents observe, act, and learn. How you set up the Unity scene to serve as a learning environment really depends on your goal. You may be trying to solve a specific reinforcement learning problem of limited scope, in which case you can use the same scene for both training and for testing trained agents. Or, you may be training agents to operate in a complex game or simulation. In this case, it might be more efficient and practical to create a purpose-built training scene.
Both training and testing (or normal game) scenes must contain an Academy object to control the agent decision making process. The Academy defines several properties that can be set differently for a training scene versus a regular scene. The Academy's Configuration properties control rendering and time scale. You can set the Training Configuration to minimize the time Unity spends rendering graphics in order to speed up training. You may need to adjust the other functional, Academy settings as well. For example, Max Steps
should be as short as possible for training — just long enough for the agent to accomplish its task, with some extra time for "wandering" while it learns. In regular scenes, you often do not want the Academy to reset the scene at all; if so, Max Steps
should be set to zero.
When you create a training environment in Unity, you must set up the scene so that it can be controlled by the external training process. Considerations include:
- The training scene must start automatically when your Unity application is launched by the training process.
- The scene must include at least one External brain.
- The Academy must reset the scene to a valid starting point for each episode of training.
- A training episode must have a definite end — either using
Max Steps
or by each agent setting itself todone
.


Module: ActionView::Helpers::SanitizeHelper
| Child Modules: | |
| Extended by: | |
| Included in: | |
| Defined in: |
Overview
The SanitizeHelper module provides a set of methods for scrubbing text of undesired HTML elements. These helper methods extend Action View making them callable within your template files.
Instance Method Summary collapse
-
#sanitize(html, options = {})
Sanitizes HTML input, stripping all tags and attributes that aren't whitelisted.
-
#sanitize_css(style)
Sanitizes a block of CSS code.
-
#strip_links(html)
Strips all link tags from
html
leaving just the link text. -
#strip_tags(html)
Strips all HTML tags from
html
, including comments.
Methods included from ActiveSupport::Concern
append_features, class_methods, .extended, included
Instance Method Details
#sanitize(html, options = {})
Sanitizes HTML input, stripping all tags and attributes that aren't whitelisted.
It also strips href/src attributes with unsafe protocols like
javascript:
, while also protecting against attempts to use
Unicode, ASCII, and hex character references to work around these protocol
filters.
The default sanitizer is Rails::Html::WhiteListSanitizer
. See HTML Sanitizers[github.com/rails/rails-html-sanitizer]
for more information.
Custom sanitization rules can also be provided.
Please note that sanitizing user-provided text does not guarantee that the
resulting markup is valid or even well-formed. For example, the output may
still contain unescaped characters like <
,
>
, or &
.
Options
-
:tags
- An array of allowed tags. -
:attributes
- An array of allowed attributes. -
:scrubber
- A Rails::Html scrubber}[https://github.com/rails/rails-html-sanitizer] orLoofah::Scrubber
scrubber:class CommentScrubber < Rails::Html::PermitScrubber def allowed_node?(node) !%w(form script comment blockquote).include?(node.name) end def skip_node?(node) node.text? end def scrub_attribute?(name) name == 'style' end end <%= sanitize @comment.body, scrubber: CommentScrubber.new %>
See HTML Sanitizer[github.com/rails/rails-html-sanitizer] for documentation about
Rails::Html
scrubbers.Providing a custom
Loofah::Scrubber
:scrubber = Loofah::Scrubber.new do |node| node.remove if node.name == 'script' end <%= sanitize @comment.body, scrubber: scrubber %>
See
Loofah's
[github.com/flavorjones/loofah] for more information about defining customLoofah::Scrubber
objects.To set the default allowed tags or attributes across your application:
# In config/application.rb config.action_view. = ['strong', 'em', 'a'] config.action_view.sanitized_allowed_attributes = ['href', 'title']
82 83 84
# File 'actionview/lib/action_view/helpers/sanitize_helper.rb', line 82
def sanitize(html, = {}) self.class.white_list_sanitizer.sanitize(html, ).try(:html_safe) end
#sanitize_css(style)
Sanitizes a block of CSS code. Used by sanitize
when it comes
across a style attribute.
87 88 89
# File 'actionview/lib/action_view/helpers/sanitize_helper.rb', line 87
def sanitize_css(style) self.class.white_list_sanitizer.sanitize_css(style) end
#strip_links(html)
Strips all link tags from html
leaving just the link text.
strip_links('Ruby on Rails')
# => Ruby on Rails
strip_links('Please e-mail me at <a href="mailto:me<EMAIL_ADDRESS># => Please e-mail me at<EMAIL_ADDRESS>strip_links('Blog: Visit.')
# => Blog: Visit.
115 116 117
# File 'actionview/lib/action_view/helpers/sanitize_helper.rb', line 115
def strip_links(html) self.class.link_sanitizer.sanitize(html) end
#strip_tags(html)
Strips all HTML tags from html
, including comments.
("Strip these tags!")
# => Strip these tags!
("Bold no more! See more here...")
# => Bold no more! See more here...
("
Welcome to my website!
")
# => Welcome to my website!
101 102 103
# File 'actionview/lib/action_view/helpers/sanitize_helper.rb', line 101
def (html) self.class.full_sanitizer.sanitize(html, encode_special_chars: false) end


WITNESS LIST Corrections Committee February 29, 2000-2:00P Overview On: Fabelo, PhD, Tony (Criminal Justice Policy Council) Garrett, Gerald (Texas Board of Pardons and Paroles) Kifowit, Dee (Texas Concil on Offenders with Mental Impairments) Scott, Wayne (Texas Department of Criminal Justice)


Dog Befriends Baby Giraffe After Abandoned in South Africa
by ASSOCIATED PRESSMOKOPANE, South Africa (AP) — A dog in South Africa has befriended a baby giraffe that was abandoned at birth, rescued and taken to a local orphanage.
Jazz the giraffe arrived at The Rhino Orphanage just days after birth. A farmer found him in the wild, weak and dehydrated, and called the center for help.
Resident watchdog Hunter quickly began to care for the newcomer.
Caretaker Janie Van Heerden says they bonded immediately.
She says the baby giraffe had been given IV fluids and is doing much better. He is being fed milk and is trying to eat leaves.
“Possibly soon he will be able to go home,” she said Friday.
Copyright © 2019 courthousenews.com


Morning Courses
The following courses are available before noon:
| Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | |
|---|---|---|---|---|---|---|
| Class | Website Coding | Database Development | Javascript | Math & Logic | C# Part 1 | Programing Logic |
| Times | 8am-11am | 7am-9am | 8am-11am | 7am-10am | 9am-10am | 9am-11am |
| Location | GreenBay | GreenBay | Sturgeon Bay | Shawno | Shawno | Sturgeon Bay |


Black Queens captain Elizabeth Addo delighted to make CAF Women's Footballer of the year shortlist
Black Queens captain Elizabeth Addo has expressed delight in being nominated for the Africa Women's Player of the Year for 2019.
Addo is the only Ghanaian player to make the 10-woman shortlist released by CAF.
"I’m grateful and thankful to have been nominated for the 2019 CAF Women's Player of The Year Award," she tweeted.
The 26-year-old forward has had a remarkable season in the Chinese top-flight where she scored three goals in fourteen games to ensure Jiangsu Sunning win the league championship.
The Ghana star also made significant contributions to help Jiangsu Sunning win three other major trophies this year.
Among the shortlisted players are three times winner Asisat Oshoala, Chrestinah Thembi Kgatlana who the award last year, Cameroon star Ajara Nchout Njoya, Tabitha Chawinga and others.
The list will be trimmed to three before the award ceremony which is slated for Tuesday 7 January 2020 at the Citadel Azure, Hurghada, Egypt.


lets say someone dualweild a weapon and used the spell Cleric spell "divine power" does it give him 2 att ( 1 for each hand ) or just 1 ?
Nah.. not that I recall.. iirc it just gives you an extra main attack.. since it just makes your attacks fighter-ish
-DaMouse
All that divine power does is increase your AB to that of a fighter. If you earn an extra main hand attack from that, then you get it (if you already had 4 attacks, you do not get another one automatically anymore). But, the number of offhand attacks you get isn't based at all on your AB. You have one to start with, and get a second one if you take Improved Two-Weapon Fighting. Since raising your AB doesn't change that, Divine Power wouldn't do anything.


QUOTES
{{quote.saying + " "}} ~
{{quote.author}}
published on: {{quote.dateCreated|date}}
posted for:{{quote.dateCreated|dateCounter}} day
published by: {{quote.publisher}}
COOL {{quote.cool}}
SUCKS {{quote.sucks}}
Delete Quote


LineItem
@objcMembers
@objc(LineItem)
final public class LineItem : NSObject, Codable
Represents a line item in the order.
-
The number of unique units represented by this line item (default is 1).
Declaration
Swift
public var quantity: Int
-
Text describing the line item.
Declaration
Swift
public var itemDescription: String?
-
The Stock Keeping Unit of the line item.
Declaration
Swift
public var sku: String?
-
The Universal Product Code of the line item.
Declaration
Swift
public var upc: String?
-
The category of the line item. An ordered list of strings, starting with the topmost (or most general) category.
Declaration
Swift
public var category: [String]?
-
A key/value store for strings to specify additional information about a line item.
Declaration
Swift
public var attributes: [String : String]?
-
An array of the line item details that comprise the order
Declaration
Swift
@objc public init(id: String, total: Int64)
Parameters
id
The unique identifier for this line item, within the scope of this order. This must be unique across all line-items within the order. We suggest using the SKU or UPC of the product. (required)
total
The total price of all items bought in a particular line item. (required)


Personium Demo App 1
Language
En
Fr
Cn
Ru
Ar
Search
Search
kingdom
republic
democratic
united
federated
federal
people's
Result


Use the contact details or form below to get in touch.
<EMAIL_ADDRESS>advertising@foneboxltd.com


| Developer Spotlight |
Jeffrey Altman has been a member of the jxta.org community since April 2001. He was elected to the JXTA Board of Directors in 2002. He's one of the owners of the Spec project and a contributor on the Java Platform and Security projects. Jeffrey has done extensive work with JXTA Security to define security architecture. He presented a talk at JavaOne Virtual Transport Layer Security. He dedicates to Project JXTA as much time as he can afford and still pay for beer. Jeffrey's involvement in JXTA is not merely academic. He was the Director of Networking and Security Technologies at Internet Access Methods, www.iamethods.com and www.iam-there.com, which (prior to its closure) developed a wide array of technologies in Real-Time Interactive User Interfaces. IAM technologies include IAM->Developing a collaborative Integrated Development Environment and IAM->Swinging which enables Collaboration from any Swing/AWT GUI component. In January 2004, Jeffrey founded Secure Endpoints Inc. Secure Endpoints Inc. is focused on the development of open source standards based mechanisms for the secure exchange of information between peers. In addition to his participation in the JXTA community, Jeffrey is a core team member of MIT's Kerberos Group; a Gatekeeper in the OpenAFS.org community; and an IETF Working Group chair in the Security Area. Jeffrey believes Project JXTA provides a new networking framework for use in developing both managed peer to peer communities as well as completely ad-hoc peer networks. He says JXTA will provide the necessary constructs for a universal secure notion of identity that will allow subsequent generations of collaborative applications and distributed services to be implemented. JXTA has the potential for completely rewriting the rules by which computer software and services are sold, developed, and distributed. Jeffrey thinks that communications between networked devices will become highly localized both by logical grouping of entities and within physical space. The typical examples include the distributed calendar shared by your PDA, alarm clock, and office systems; and the wireless mall where upon entry to the grounds your PDA picks up the map of the mall, locations of empty parking spaces, the times and availabilities of films at the theater, menus for restaurants, sales at various shops, plus the necessary tools to order tickets, make reservations, etc. In both cases, the communications are bi-directional and completely peer oriented. In one case, the networks are managed peers and in the second ad-hoc. Jeffrey says that the current focus of the media is on peer-to-peer systems which are designed to provide users anonymous private mechanisms, most frequently used to trade in media content. The most likely result of a wide spread distributed peer to peer infrastructure based on JXTA is a network that provides for strong privacy but lacks anonymity (at least in the sense that all peers have a well defined secure identity.) This allows JXTA to be used as the basis for transactions between peers as a form of trade. This should have widespread implications for the exchange of products and services in all industries not to mention significantly alter the way we live our day to day lives. You can reach Jeffrey at<EMAIL_ADDRESS>and on the Project JXTA discuss mailing list. |


Days
Hours
Minutes
Seconds
...until blast off!
We are a group of enthusiastic individuals dedicated towards building a safe environment for upcoming pre-IB students. We’ve organized the LEAP (Leaders Engaged: Achieving Potential) conference for both mentors and delegates to build connections, share advice and learn. The theme for this year’s conference is space.
LEAP is September 12, 2017. Registration begins at 7:45 AM.


Email address
Password
Remember me
The email or password you have entered is invalid, try again.
Role
Email
Password
User
<EMAIL_ADDRESS>123
Admin
<EMAIL_ADDRESS>123
SuperAdmin
<EMAIL_ADDRESS>123


Content Upload
Segment:
{{option.label}}
Subject:
Description:
Attachments:
Single Image with validations
Select
Example block-level help text here.
Submit


Welcome, want to lend a hand?
See the Bootstrap Docs for suggestions:
Spot broken things? Please submit issues or make a pull request.
This docs need more articles.


Convert selected qualified reference into simple reference and add corresponding
static import
for that reference.


Behavior
Very kind pokemon. And very shy.


December 10th,2020
Client is not King
Not When it comes to UI Design
I'm sure you have heard of this : the client is king, we live for our clients... and all that jazz
Well this might be true, But when it comes to design, it's not!
Talk in their language, they only understand one language that is Business and growth
Your job as a designer is to communicate a clear message, to solve a problem.
They want to make money, you want to make a good design. Realise the control is in your hands, and design something that fits the project and the budget. Now convince the client how it would help his/her business make money, not how it made your brain orgasm.
You are designing for the audience, not for the client which means, now your end goal is to think about the user's experience.
The audience is the true King.
Clients have their own suggestions, but it doesn't mean you should always follow them because clients' view may not align with users' view.
Your client might not like the final outcomes, but remember that, your client is a businessman and they like the growth
The number one priority of design is to solve a problem, not to impress the client.


"Well hi there, neighbor! I've been someplace special today. Do you want to know where that is? The numbers factory!
The numbers I've brought back with me today are very special. I want to share them with you. They're not like your typical numbers from school. Some of them will transform into sounds. Some will be the same, and others will metamorphose into my favorite invitation!"
Enter your number below:
Here are your numbers from the land of make-believe: