By: Arjun Dhatt
Abstract
In this analysis, I will be looking at COVID-19 data in the city of Toronto to identify unique trends in the fatal cases of COVID-19. After conducting the analysis, I was able to conclude that COVID-19 is more fatal to the older population compared to the younger population. This information is crucial because it helps determine who is most at risk from the virus.
Introduction
The COVID-19 pandemic has affected the entire world in many different ways. In particular, the COVID-19 virus has severely affected the older population causing many deaths around the world. I wanted to investigate this issue by analyzing COVID-19 data in the city of Toronto.
The purpose of this analysis is to identify trends in the fatal cases of COVID-19 in Toronto. Before beginning the analysis, I wanted to see whether the older population is really more at risk from COVID-19 compared to the younger population. Using data from the city of Toronto, I wanted to observe the distribution of age groups among the fatal COVID-19 cases in Toronto. To begin the analysis, I used the opendatatoronto (Gelfand (2020)) package to download COVID-19 related data in the city of Toronto. After downloading the package, I looked at the age groups for all COVID-19 cases — including those that did not result in fatalities — to get an idea of the age groups that were most exposed to the virus. I visualized the data by creating histograms with the ggplot 2 package (Wickham (2016)). I found that the population aged 20-60 was most exposed to the virus, while those younger than 20 or older than 60 had been less exposed. I then compared the results to the age groups for fatal cases to identify any differences in the distribution of cases. I found that the distributions varied drastically because fatal cases were much more common in the older population compared to the younger population.
This finding is important because it shows that the virus is more fatal for the older population compared to the younger population. This information also helps determine the allocation of resources to ensure that the older population is well cared for.
Description of Dataset
The dataset contains information related to the COVID-19 outbreak as reported by Toronto Public Health. For all confirmed and probable cases in Toronto, the dataset contains useful information about each case such as the age group, outcome, gender, etc. The dataset uses categorical variables to explain each case and contains information on a total of 16,942 cases. The data is extracted from the provincial communicable disease reporting system along with Toronto’s custom COVID-19 case management system. In this analysis, we are primarily going to be looking at two variables — ‘Age Group’ and ‘Outcome’. Below, in Figure 0, you will see what the analyzed dataset looks like for 4 randomly selected cases:
Figure 0
## # A tibble: 4 x 4
## `_id` Assigned_ID `Age Group` Outcome
## <int> <int> <chr> <chr>
## 1 143647 1 50 to 59 Years RESOLVED
## 2 143648 2 50 to 59 Years RESOLVED
## 3 143649 3 20 to 29 Years RESOLVED
## 4 143650 4 60 to 69 Years RESOLVED
The dataset in Figure 0 defines the variables as follows:
_id — Unique row identifier for Open Data database
Assigned_ID — A unique ID assigned to cases by Toronto Public Health for the purposes of posting to Open Data, to allow for tracking of specific cases
Age Group — Age at time of illness
Outcome —
-Fatal: Cases with a fatal outcome reported.
-Resolved: Cases not reported as deceased, and who are either: reported as ‘recovered’ OR where the report date is more than 14 days from symptom onset AND the case is not currently hospitalized.
-Active: All other cases
Important Findings/ Analysis
To beging the analysis, I started by looking at the distribution of age groups in all COVID-19 cases in Toronto.
In the dataset, we are given the ‘age at time of illness’ for each individual that contracted COVID-19. Below is a histogram to show the age groups that are most affected:
Figure 1
In Figure 1, we can see that most cases are in people aged 20-60. For those younger than 20, or older than 60, the bar is much shorter indicating that there are less people exposed to the virus. An explanation for this can be the fact that most of the working population is aged 20-60 and they are more likely to be exposed to the virus in their workplace.
Despite the fact that most cases are in the population aged 20-60, does that mean that most fatalities are in the population aged 20-60? To investigate this further, we can look at the outcome of all case to identify whether they are still active, resolved, or fatal. Below is a histogram to show the outcome of all COVID-19 cases in Toronto:
Figure 2
In Figure 2, we can see that most of the cases are resolved, and in comparison to the cases that are resolved, very few are fatal. This poses the interesting question— among which age group are fatalities most common? We recently observed that the population aged 20-60 account for a large number of COVID-19 cases, but do any of them result in fatalities?
In order to see which age groups have the most fatalities from the virus, I will start by filtering the dataset so that it only contains cases that resulted in a fatal outcome. With the fatal-filtered dataset, I want to observe the distribution of the age groups. Because COVID-19 is more common in the population aged 20-60 and less common in the population older than 60 , I expect a similar distribution in the fatal cases.
Below is a histogram created from the filtered dataset to see the distribution of age groups in the fatal cases of COVID-19:
Figure 3
In Figure 3, suprisingly, most of the fatal cases are in the older population. Because the height of the bar increases as the age group increases, we can see that the virus is much more severe as you grow older. After expecting to see a distribution similiar to Figure 1, I was surprised to see there are no cases in the population younger than 40. I was also shocked to see how much the distributions differ between all cases and only fatal cases.
Weaknesses and Next Steps
One potential weakness of the analysis is the generalizability of the results. Despite the fact that the dataset contains multitudes of information, it may be hard to generalize the results because the data is exclusive to the city of Toronto. There is always the chance that the outcome of our results may not be generalizable to a different city in a different country. A solution to this may be to analyze a larger dataset that isn’t exclusive to the city of Toronto so that our results can be more generalizable. Combining the Toronto dataset with other cities that aren’t urban may change our distribution and therefore change the results.
Another potential weakness of the analysis comes from the fact that we are analyzing the results primarily from Stage 1 of the virus. During Stage 1, schools were closed in the city of Toronto which may be the reason why we see fewer cases in the population aged younger than 20. The results from our analysis may change with the spike in COVID-19 cases in September — partly due to the opening of schools. A solution to this may be to also include the results from the spike in cases during September to see how the distribution of COVID-19 changes among various age groups. The spike in cases in September may also have a different distribution than what was previously seen in Stage 1 because of the differences in safety precautions — common use of masks, regulated social distancing, etc. This may change the results of our analysis.
Appendix
Below, I will show the code used to produce the graphs and tables used in my analysis:
Figure 0
library(opendatatoronto)
covid_packages <- search_packages("COVID")
covid_resources <- covid_packages %>%
list_package_resources()
covid_statistics <- covid_resources %>%
get_resource()
covid_statistics_sample <- head(covid_statistics,4)
covid_statistics_sample <-
subset(covid_statistics_sample, select =c(1,2,4,12))
covid_statistics_sample
## # A tibble: 4 x 4
## `_id` Assigned_ID `Age Group` Outcome
## <int> <int> <chr> <chr>
## 1 143647 1 50 to 59 Years RESOLVED
## 2 143648 2 50 to 59 Years RESOLVED
## 3 143649 3 20 to 29 Years RESOLVED
## 4 143650 4 60 to 69 Years RESOLVED
Figure 1
library(opendatatoronto)
covid_packages <- search_packages("COVID")
covid_resources <- covid_packages %>%
list_package_resources()
covid_statistics <- covid_resources %>%
get_resource()
library(ggplot2)
#distribution of age group
agegroup<-covid_statistics$`Age Group`
ggplot(data=covid_statistics, aes(agegroup)) +
geom_histogram(stat="count") +
scale_x_discrete(labels = c('<=19','20 to 29',
'30 to 39','40 to 49',
'50 to 59', '60 to 69'
, '70 to 79',
'80 to 89','90+',
'Unknown')) +
ggtitle("Age Group of COVID-19 Cases") +
xlab("Age Group") + ylab("Cases")
## Warning: Ignoring unknown parameters: binwidth, bins, pad
Figure 2
#distribution of outcome
outcome <- covid_statistics$Outcome
ggplot(data=covid_statistics, aes(outcome)) +
geom_histogram(stat="count") +
ggtitle("Outcome of COVID-19 Cases") +
xlab("Outcome") + ylab("Count")
## Warning: Ignoring unknown parameters: binwidth, bins, pad
Figure 3
#filtering fatal outcomes
fataldata <- subset(covid_statistics, outcome == 'FATAL')
#distribution of age groups in fatal outcomes only
ageoffatal <- fataldata$`Age Group`
ggplot(data=fataldata, aes(ageoffatal)) +
geom_histogram(stat="count") +
scale_x_discrete(labels = c('<=19',
'20 to 29','30 to 39',
'40 to 49', '50 to 59',
'60 to 69', '70 to 79',
'80 to 89','90+',
'Unknown')) +
ggtitle("Age Group of COVID-19 Cases") +
xlab("Age Group") + ylab("Cases")
## Warning: Ignoring unknown parameters: binwidth, bins, pad
References
Gelfand, Sharla. 2020. Opendatatoronto: Access the City of Toronto Open Data Portal. https://CRAN.R-project.org/package=opendatatoronto.
Wickham, Hadley. 2016. Ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. https://ggplot2.tidyverse.org.


Start Bootstrap has everything you need to get your new website up and running in no time! All of the templates and themes on Start Bootstrap are open source, free to download, and easy to use. No strings attached!
Shop Now!Ready to start your journey! Give us a call or send us an email.
085-129-8951


[t]We are sorry, but the verification code was incorrect.[/t]
[t]You can move back and resend the form.[/t]


The paper proposes a technique (called Parameter Superposition or PSP) for training and storing multiple models within a single set (or instance) of parameters.
The different models exist in “superposition” and can be retrieved dynamically given task-specific context information.
Consider a task with input \(x \in R^N\) and parameter \(W$ \in R^{M \times N}\) where the output (target or features) are given as \(y=Wx\).
Now consider \(K\) such tasks with parameters \(W_1, W_2, \cdots W_K\).
If each \(W_k\) requires only a small subspace in \(R^N\), then a linear transformation \(C_k^{-1}\) can be used such that each \(W_kC_k^{-1}\) occupies a mutually orthogonal subspace in \(R^N\).
The set of parameters \(W_1, \cdots W_K\) can be represented by a single \(W^{M \times N}\) by adding \(W_kC_k^{-1}\).
The parameter corresponding to the \(k^{th}\) task can be retrived (with some noise) using the context \(C_k\) as \(W^{~}_k = WC_k\)
Even though the retrieval is noisy, the effect of noise is limited for the context vectors used in the paper.
Finally, \(\widetilde(y) = \widetilde(W)_{k}x = (WC_{k})x = W(C_{k}x)\)
Instead of learning \(K\) separate models, only \(K\) context vectors (along with 1 superimposed model) needs to be learned.
The key assumption is that \(N\) (in \(x \in R^N)\) is large enough such that each \(W_k\) requires only a small subspace of \(R^N\).
Since images and speech signals tend to occupy a low dimensional manifold, this requirement can be satisfied by over-parameterizing x.
Rotational Superposition (pspRotation)
Sample rotations uniformly from the orthogonal group \(O(M)\).
Downside is that if \(M \sim N\), it requires storing as many parameters as learning \(K\) individual models (since \(C\) is of the size of ##M \times M$$).
Complex Superposition (pspComplex)
The design of rotational superposition can be improved by choosing \(C_k\) to be a diagonal matrix ie \(C_k = diag(c_k)\) where \(c_k\) is a vector of size \(M\).
Choosing \(c_k\) to be a vector of complex numbers (of the form \(c_{k}^{j} = e^{i\phi_{j}(k)}\) where \(\phi_{j}(k)\) or the phase is sampled uniformly from \([-\pi, \pi]\)) leads to \(C_k\) being a digonal orthogonal matrix.
Powers of a single context
Binary Superposition (pspBinary)
The parameter superposition principle can be applied to all the linear layers of a network.
For the convolutional layers, it makes more sense to apply superposition to the convolutional kernel and not to the input image (as the dimensionality of convolutional parameters is smaller than that of inputs).
For all the experiments, the baseline is a standard supervised learning setup, unless mentioned otherwise.
The metric is the performance on the previous tasks when the model has been trained on the newer tasks.
Input Interference
The input distribution changes over time.
Permuted MNIST dataset is used where each permutation of the pixels corresponds to a new task.
A new task is sampled every 1000 mini-batches.
As the network size increases, the performance of Parameter Superposition (psp) outperforms the baseline significantly.
pspRotation > pspComplex > pspBinary in terms of both performance and the number of additional parameters required for each new task.
Given that pspBinary is the easiest to implement while being comparable to more sophisticated baselines like Elastic Weight Consolidation (EWC) and Synaptic Intelligence, the paper presents most of the results with the pspBinary model.
Continous Domain Shift
Rotating-MNIST and Rotating-FashionMNIST tasks are proposed to simulate continuous domain shift.

A new context is assigned after 100 steps as per step changes in the angle would be very small.
The 10 context vectors used in the first 1000 steps are reused for the subsequent steps.
Randomly changing the context vector
The paper considers an ablation where the context vector is randomly changed at every step (of the 1000 step cycle). This required the superposition model to store 1000 models.
This approach is better than the supervised learning baseline but not as good as the proposed psp* models.
Output Interference
This is the setup where the model transitions from one classification task to another.
Incremental CIFAR dataset is used with Resnet18 as the base model.
Baseline is a standard supervised learning model where a new classification head is used for each task (since the classes have a different meaning in each dataset). The model component before the classification layer is shared across the tasks.
Even though the labels are different across the datasets, the pspBinary model, trained with a single output layer, outperforms the multi-headed baseline.


The page is empty
You will need to play the game with the Admiral "F12" Panel open. That is the only way we can know of your in-game data. Use the Gold Heart icon on your Chrome to start playing.
The rate percentages under statistics are wrong
Visit the in-game admiral profile screen to get the exact rates. The game has a special formula for it, not just basic percentage between the counts.
What is "Quick Data"?
It refers to data that can be sourced from the game: ship list, equipment list, fleet arrangement, quests, map gauges, etc.
What encompasses "Histories"?
It refers to logs saved onto the computer such as sortie history, resouce history, crafting history, etc. Clearing Histories will delete records for all accounts that played on this browser profile.
How will this affect my game account?
All of this does not affect your game account, only the records and logs saved by on your computer by this extension.
Can I export my whole history (not just quick data) and move it to another device?
Currently, no you can't. However there are plans to include this into the exportable .kc3 files and will merge data with the target device. There is no timeline yet for this though.


Maid Request
Building Name *
Enter Date for Maid Service *
First Name *
Last Name *
Apartment # *
Email *
Phone
I approve entry into my home. *
Comments
*
These fields are required.


Dashboard 3
Income Status
$31,570
Total income: $22506 10.25%
Sales Status
683
Total sales: 2398 7.85%
Recent Users
3.2M
Total users: 121 M 3.64%
Total Revenue
$68,541
Total revenue: $1.2 M 17.48%
Revenue
Target
$7.8k
Last week
$1.4k
Last Month
$15k
Projections Vs Actuals
Target
$3.8k
Last week
$1.1k
Last Month
$25k
Inbox
Chat
-
10:00John Deo
Hello!
-
10:01Geneva
Hi, How are you? What about our next meeting?
-
10:01John Deo
Yeah everything is fine
-
10:02Geneva
Wow that's great


Boromee is a micro social loan enforcement application that enforces a contract between lenders and borrowers.


The evening plan had been to finish up some chinese food left over from last night’s study session and then get back to the thesis and some other papers and projects that have kept me away from here for so long. The last few days had been a maddening bout of regression analyses on historic confidence levels of congress, interacting terms and sometimes even a quadratic, hoping to make sense of something in the data available.
As I started to sit up from the couch to head to my desk I saw an email come up on my phone, and just before the notification screen went dark it showed me the name. “Ben?” I thought, “haven’t seen him since high school…I wonder if he’s in town or something. That’d be nice…”
But Ben’s news was terrible. Our friend, Chris, had been killed in an Avalanche in Washington just a few hours before. Ben had found out about it while checking the weather report and looked in to it before contacting me and the rest of our old group from high school. We’d mostly drifted, the time and the distance coming between us, as is so common. Life I guess. But sometimes things really get smashed into perspective, don’t they? Shit, in the face of this, who cares about the weather?
Fuck, that was hard news to hear.  It sucked the breath right out of me and I sat there, motionless on the couch, the TV screen I was about to turn off still flickering images of something that now seemed about as irrelevant as the macroeconomic class I have in the morning. I didn’t know which one of the thoughts in my head to focus on, which one to pull out of the tazmanian devil whirling around in my mind to start processing.
I spent the next few hours on the memories, the bike trails, the backroads, the views from the roads on which we drove. They help. The upswells in my chest heaved unexpectedly and unpredictably though, and each time the tears started to dry I wondered if there would be more.
The room was cold, but I wrote a letter to his parents, feeling disconnected, far away and empty. Nothing sounded right, everything seemed trite or cliché, and despite the slap I had just endured, I couldn’t imagine what his family was going through. I know the smiles will come again, but somehow that seems a long way off now the world has a little less in it. Dammit…
I called friends from high school for whom I had phone numbers, and we talked, reminded each other that though the years and the miles had had their way with us, the past is still safely tucked in the fondness of memories, and that, too, is as good a reason to cherish someone as any. I told them the things I’d thought of over the years that I always meant to say at the next reunion, or under whatever circumstances it was that we’d see each other again. I always thought I’d get to tell Chris those things someday, perhaps in a log cabin somewhere, over a Jameson 12-year, or maybe under it. As we talked we all realized we had other phone calls to make.
Facebook lit up with thoughts, feelings and reactions. Mostly we were united in our bewilderment, and I couldn’t help but notice something on his facebook page that put a twist of satisfaction on my lips. Of the hundreds of posts on Chris’s facebook wall, not a single one failed to contain some element of pure excitement for just having KNOWN the guy. Comments like, “The heart and the smile are your tools. Thank you for teaching us how to use them,” and “thank you for all the good times! We’ll keep the shred alive for you!” rang of stoke and celebration, of awe and the amazing contentment of meeting one of those people whose smile doesn’t fade. Somewhere in that, I knew, I would need to find solace.
Now I stare into the dark of the East River and think about some of the exchanges I’d had with Chris over the years. Lights reflect off the water but I can’t seem to figure out where they’re coming from. We talked a lot about who we were and who we are becoming.  When I think about Chris I am keenly aware that I recognize and know perfectly well which friendships I’ve had a hand in messing up along the way, and that I’ve let some of them go, focusing my energy on how I can better my life without depending on others, who have so often fallen short of my expectations. Were they too high? Was I hypocritical?  Maybe.
High time to revisit that little character flaw, I’d say.
And now that it comes to it, I’m reminded of what he used to say when things got foggy and thick: “it’s gonna turn blue any minute!”
Yeah. I hope he’s right. But maybe it’s got nothing to do with hope. And that seems like the right attitude about now.
I couldn’t get images out of my head of an icy roar, of a murderous wave nature uses to maintain equilibrium. That’s all that matters to nature, really — heat transfer, and maybe gravity.
And I bet that mountain is real quiet now. Serene and beautiful, even. What a contrast.


What to say
Voice
Agnes
Kathy
Princess
Vicki
Victoria
Bruce
Fred
Junior
Ralph
Albert
Bad News
Bahh
Bells
Boing
Bubbles
Cellos
Deranged
Good News
Hysterical
Pipe Organ
Trinoids
Whisper
Zarvox
Volume
Host
Username
Password
Say It
Test Connection


GitHub Actions is an API for cause and effect on GitHub: orchestrate any workflow, based on any event, while GitHub manages the execution, provides you rich feedback, and secures every step along the way. With GitHub Actions, workflows and steps are ...


Ensure PATH variable
Make sure all commands work properly and are added to PATH.
composer -V
git --version
node -v
npm -v
neoan3 uses common web technologies in order to facilitate a reliable yet simple setup.
We encourage local development ( and mention that in {{currentYear}} as neoan3's structure enables you to directly work on live systems ).
neoan3 is designed for Apache & Nginx but setup is easiest on Apache.
Tech
While you do not need neoan3-cli, it helps you a lot. You can install it globally via composer global require neoan3/neoan3
.


Kingdoms rich in ancient grandeur, halls carved into the roots of mountains, the echoing of picks and hammers in deep mines and blazing forges, a commitment to clan and tradition, and a burning hatred of goblins and orcs – these common threads unite all dwarves.
Alignment: Most dwarves are lawful, believing firmly in the benefits of a well-ordered society. They tend toward good as well, with a strong sense of fair play and a belief that everyone deserves to share in the benefits of a just order.
Size: Dwarves stand between 4 and 5 feet tall and average about 150 pounds. Your size is Medium.
Speed: Base walking speed is 25 feet. Speed is not reduced by wearing heavy armor.
Darkvision: Accustomed to life underground, you have superior vision in dark and dim conditions. You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can't discern color in darkness, only shades of gray.
Dwarven Resilience: You have advantage on saving throws against poison, and you have resistance against poison damage.
Dwarven Combat Training: You have proficiency with the battleaxe, handaxe, light hammer, and warhammer.
Tool Proficiency: You gain proficiency with the artisan's tools of your choice: smith's tools, brewer's supplies, or mason's tools.
Stonecunning: Whenever you make an Intelligence (History) check related to the origin of stonework, you are considered proficient in the History skill and add double your proficiency bonus to the check, instead of your normal proficiency bonus.
Languages: Common and Dwarvish.
Ability Score Increase: Constitution score increases by 2.
In the reckonings of most worlds, humans are the youngest of the common races, late to arrive on the world scene and short-lived in comparison to dwarves, elves, and dragons. Perhaps it is because of their shorter lives that they strive to achieve as much as they can in the years they are given. Or maybe they feel they have something to prove to the elder races, and that's why they build their mighty empires on the foundation of conquest and trade. Whatever drives them, humans are the innovators, the achievers, and the pioneers of the worlds.
Alignment: Elves love freedom, variety, and self-expression, so they lean strongly towards the gentler aspects of chaos. They value and protect others' freedom as well as their own, and are good more often than not. Drow are an exception; their exile into the Underdark has made them vicious and dangerous. Drow are more often evil than not.
Size: Elves range from under 5 to over 6 feet tall and have slender builds. Your size is Medium.
Speed: Base walking speed is 30 feet.
Darkvision: Accustomed to twilit forests and the night sky, elves have superior vision in dark and dim conditions. They can see in dim light within 60 feet of them as if it were bright light, and in darkness as if it were dim light. Elves can't discern color in darkness, only shades of gray.
Fey Ancestry: Elves have advantage on saving throws against being charmed, and magic can't be put to sleep.
Languages: Common and Elven.
Ability Score Increase: Dexterity score increases by 2.
Walking in two worlds but truly belonging to neither, half-elves combine what some say are the best qualities of their elf and human parents: human curiosity, inventiveness, and ambition tempered by the refined senses, love of nature, and artistic tastes of the elves.
Alignment: Half-elves share the chaotic bent of their elven heritage. They both value personal freedom and creative expression, demonstrating neither love of leaders nor desire for followers. They chafe at rules, resent others' demands, and sometimes prove unreliable, or at least unpredictable. They are good and evil in equal numbers, a trait they share with their human parents.
Size: Half-Elves are more or less the same size as humans, ranging from 5 to 6 feet tall. Your size is Medium.
Speed: Base walking speed is 30 feet.
Darkvision: Thanks to your elven heritage, you have superior vision in dark and dim conditions. You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can't discern color in darkness, only shades of gray.
Languages: Common and Elven.
Ability Score Increase: Charisma score increases by 2, and two other ability scores of your choice each increase by 1.
Half-Elf Versatility: Choose one of the following traits-
When alliances between humans and orcs are sealed by marriages, half-orcs are born.  Some venture into the world to prove their worth among humans and other more civilized races. Many of these become adventurers, achieving greatness for their mighty deeds and notoriety for their barbaric customs and savage fury.
Alignment: Half-orcs inherit a tendency toward chaos from their orc parents and are not strongly inclined toward good. Half-orcs raised among orcs and willing to live out their lives among them are usually evil.
Size: Half-orcs are somewhat larger and bulkier than humans, and they range from 5 to well over 6 feet tall. Your size is Medium.
Speed: Base walking speed is 30 feet.
Darkvision: Thanks to your orc blood, you have superior vision in dark and dim conditions. You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can't discern color in darkness, only shades of gray.
Menacing: Gained proficiency in the Intimidation skill.
Relentless Endurance: When you are reduced to 0 hit points but not killed outright, you can drop to 1 hit point instead. You can't use this feature again until you finish a long rest.
Savage Attacks: When you score a critical hit with a melee weapon attack, you can roll one of the weapon's damage dice one additional time and add it to the extra damage of the critical hit.
Languages: Common and Orc
Ability Score Increase: Strength score increases by 2, and Constitution score increases by 1.
The comforts of home are the goals of most halflings' lives: a place to settle in peace and quiet, far from marauding monsters and clashing armies. Others form nomadic bands that travel constantly, lured by the open road and the wide horizon to discover the wonders of new lands and peoples. Halflings work readily with others, and they are loyal to their friends, whether halfling or otherwise. They can display remarkable ferocity when their friends, families, or communities are threatened.
Alignment: Most halflings are lawful good. As a rule, they are good-hearted and kind, hate to see others in pain, and have no tolerance for oppression. They are also very orderly and traditional, leaning heavily on the support of their community and the comfort of the old ways.
Size: Halflings average about 3 feet tall and weigh about 40 pounds. Your size is small.
Speed: Base walking speed is 25 feet.
Lucky: When you roll a 1 on an attack roll, ability check, or saving throw, you can reroll the die. You must use the new result, even if it is a 1.
Brave: You have advantage on saving throws against being frightened.
Nimble: You can move through the space of any creature that is of a size larger than yours.
Languages: Common and Halfling.
Ability Score Increase: Dexterity score increases by 2.
In the reckonings of most worlds, humans are the youngest of the common races, late to arrive on the world scene and short-lived in comparison to dwarves, elves, and dragons. Perhaps it is because of their shorter lives that they strive to achieve as much as they can in the years they are given. Or maybe they feel they have something to prove to the elder races, and that's why they build their mighty empires on the foundation of conquest and trade. Whatever drives them, humans are the innovators, the achievers, and the pioneers of the worlds.
Alignment: Humans tend toward no particular alignment. The best and the worst are found among them.
Size: Humans vary widely in height and build, from barely 5 feet to well over 6 feet tall. Regardless of your position in that range, your size is Medium.
Speed: Base walking speed is 30 feet.
Languages: Common and one extra language of your choice.
Ability Score Increase: Ability scores each increase by 1.
To be greeted with stares and whispers, to suffer violence and insult on the street, to see mistrust and fear in every eye: this is the lot of the tiefling. And to twist the knife, tieflings know that this is because a pact struck generations ago infused the essence of Asmodeus, overlord of the Nine Hells (and many of the other powerful devils serving under him) into their bloodline. Their appearance and their nature are not their fault but the result of an ancient sin, for which they and their children and their children's children will always be held accountable.
Alignment: Tieflings might not have an innate tendency toward evil, but many of them end up there. Evil or not, an independent nature inclines many tieflings toward a chaotic alignment.
Size: Tieflings are about the same size and build as humans. Your size is Medium.
Speed: Base walking speed is 30 feet.
Darkvision: Thanks to your infernal heritage, you have superior vision in dark and dim conditions. You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can’t discern color in darkness, only shades of gray.
Hellish Resistance: You have resistance to fire damage.
Languages: Common and Infernal.
Ability Score Increase: Charisma score increases by 2.


Copyright © 2017 STMicroelectronics
STMCube is an STMicroelectronics original initiative to ease developers life by reducing development efforts, time and cost.
STM32Cube covers STM32 portfolio.
STM32Cube Version 1.x includes:
The STM32CubeMX, a graphical software configuration tool that allows to generate C initialization code using graphical wizards.
A comprehensive embedded software platform, delivered per series (such as STM32CubeH7 for STM32H7 series)
The STM32Cube HAL, an STM32 abstraction layer embedded software, ensuring maximized portability across STM32 portfolio
A consistent set of middleware components such as RTOS, USB, TCP/IP, Graphics]
All embedded software utilities come with a full set of examples.
The STM32Cube firmware solution offers a straightforward API with a modular architecture, making it simple to fine tune custom applications and scalable to fit most requirements.
The drivers provided within this package support the STM32H743/753/750/745/755/747/757/742/7A3/7B0/ 7B3/723/725/733/735/730 lines.
The HAL and LL drivers provided within this package are compliant with MISRA-C®:2012 guidelines, and have been reviewed with a static analysis tool to eliminate possible run-time errors. Reports are available on demand.
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | v5.6.0 | release notes |
| STM32H7xx CMSIS | v1.10.3 | release notes |
| STM32H7xx HAL | v1.11.1 | release notes |
| BSP STM32H7xx_Nucleo | v1.3.1 | release notes |
| BSP STM32H735G-DK | v1.2.1 | release notes |
| BSP STM32H7B3I-EVAL | v2.3.1 | release notes |
| BSP STM32H7B3I-DK | v2.3.1 | release notes |
| BSP STM32H743I-EVAL | v3.3.1 | release notes |
| BSP STM32H745I-DISCO | v3.3.1 | release notes |
| BSP STM32H747I-EVAL | v3.3.1 | release notes |
| BSP STM32H747I-DISCO | v3.5.1 | release notes |
| BSP STM32H750B-DK | v3.3.2 | release notes |
| BSP Adafruit_Shield | v5.0.1 | release notes |
| BSP Common | v7.0.0 | release notes |
| BSP adv7533 | v2.0.1 | release notes |
| BSP ampire480272 | v1.0.3 | release notes |
| BSP ampire640480 | v1.0.3 | release notes |
| BSP cs42l51 | v2.0.1 | release notes |
| BSP exc7200 | v2.0.1 | release notes |
| BSP ft5336 | v2.0.1 | release notes |
| BSP ft6x06 | v2.0.0 | release notes |
| BSP lan8742 | v1.0.1 | release notes |
| BSP mfxstm32l152 | v3.0.2 | release notes |
| BSP m24lr64 | v1.0.0 | release notes |
| BSP mt25tl01g | v2.3.0 | release notes |
| BSP mx25lm51245g | v2.0.2 | release notes |
| BSP mt48lc4m32b2 | v1.0.1 | release notes |
| BSP is42s32800j | v1.0.0 | release notes |
| BSP is42s32800g | v1.0.0 | release notes |
| BSP is42s16800j | v1.0.0 | release notes |
| BSP otm8009a | v2.0.0 | release notes |
| BSP ov9655 | v2.2.0 | release notes |
| BSP ov5640 | v3.2.0 | release notes |
| BSP rk043fn48h | v1.0.3 | release notes |
| BSP rk070er9427 | v1.0.0 | release notes |
| BSP s5k5cag | v2.0.0 | release notes |
| BSP s70kl1281 | v1.0.0 | release notes |
| BSP st7735 | v2.0.2 | release notes |
| BSP stmpe811 | v3.0.0 | release notes |
| BSP ts3510 | v2.0.0 | release notes |
| BSP wm8994 | v3.0.2 | release notes |
| BSP es_wifi | v1.6.0 | release notes |
| BSP mx_wifi | v1.0.4 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Device Library | v2.11.1 | release notes |
| STM32 USB Host Library | v3.5.0 | release notes |
| STemWin | v5.44 | release notes |
| TouchGFX | v4.12.3_20200316 | release notes |
| STM32 PDM audio software decoding Library | v3.3.0 | release notes |
| FreeRTOS MPU** | v10.3.1 | release notes ST modified 20200831 release notes |
| LibJPEG | v8d | release notes ST modified 20190329 release notes |
| LwIP | v2.1.2 | release notes ST modified 20190315 release notes |
| FatFS | R0.12c | release notes ST modified 20191011 release notes |
| mbedTLS | v2.16.2 | release notes ST modified 20200825 release notes |
| OpenAmp | v2018.10 | release notes ST modified 20200110 release notes |
| STM32_Network_Library | v2.1.2 | release notes |
| Name | Version | Release note |
|---|---|---|
| Fonts | V2.0.2 | release notes |
| CPU | V1.1.2 | release notes |
| JPEG | V2.0.0 | release notes |
| ResourcesManager | V1.4.0 | release notes |
| lcd | V2.0.1 | release notes |
| Lcd_Trace | V2.0.0 | release notes |
| Common | V1.4.1 | release notes |
Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 or upper version (“AC5-like Warnings” mode)
No impact of the above warnings on the functional behavior
IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.9 + ST-LINKV3.
STM32CubeIDE toolchain (gcc9_2020_q2_update) v1.7.0
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | v5.6.0 | release notes |
| STM32H7xx CMSIS | v1.10.2 | release notes |
| STM32H7xx HAL | v1.11.0 | release notes |
| BSP STM32H7xx_Nucleo | v1.3.1 | release notes |
| BSP STM32H735G-DK | v1.2.1 | release notes |
| BSP STM32H7B3I-EVAL | v2.3.1 | release notes |
| BSP STM32H7B3I-DK | v2.3.1 | release notes |
| BSP STM32H743I-EVAL | v3.3.1 | release notes |
| BSP STM32H745I-DISCO | v3.3.1 | release notes |
| BSP STM32H747I-EVAL | v3.3.1 | release notes |
| BSP STM32H747I-DISCO | v3.5.1 | release notes |
| BSP STM32H750B-DK | v3.3.1 | release notes |
| BSP Adafruit_Shield | v5.0.1 | release notes |
| BSP Common | v7.0.0 | release notes |
| BSP adv7533 | v2.0.1 | release notes |
| BSP ampire480272 | v1.0.3 | release notes |
| BSP ampire640480 | v1.0.3 | release notes |
| BSP cs42l51 | v2.0.1 | release notes |
| BSP exc7200 | v2.0.1 | release notes |
| BSP ft5336 | v2.0.1 | release notes |
| BSP ft6x06 | v2.0.0 | release notes |
| BSP lan8742 | v1.0.1 | release notes |
| BSP mfxstm32l152 | v3.0.2 | release notes |
| BSP m24lr64 | v1.0.0 | release notes |
| BSP mt25tl01g | v2.3.0 | release notes |
| BSP mx25lm51245g | v2.0.2 | release notes |
| BSP mt48lc4m32b2 | v1.0.1 | release notes |
| BSP is42s32800j | v1.0.0 | release notes |
| BSP is42s32800g | v1.0.0 | release notes |
| BSP is42s16800j | v1.0.0 | release notes |
| BSP otm8009a | v2.0.0 | release notes |
| BSP ov9655 | v2.2.0 | release notes |
| BSP ov5640 | v3.2.0 | release notes |
| BSP rk043fn48h | v1.0.3 | release notes |
| BSP rk070er9427 | v1.0.0 | release notes |
| BSP s5k5cag | v2.0.0 | release notes |
| BSP s70kl1281 | v1.0.0 | release notes |
| BSP st7735 | v2.0.2 | release notes |
| BSP stmpe811 | v3.0.0 | release notes |
| BSP ts3510 | v2.0.0 | release notes |
| BSP wm8994 | v3.0.2 | release notes |
| BSP es_wifi | v1.6.0 | release notes |
| BSP mx_wifi | v1.0.4 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Device Library | v2.10.0 | release notes |
| STM32 USB Host Library | v3.4.0 | release notes |
| STemWin | v5.44 | release notes |
| TouchGFX | v4.12.3_20200316 | release notes |
| STM32 PDM audio software decoding Library | v3.3.0 | release notes |
| FreeRTOS MPU** | v10.3.1 | release notes ST modified 20200831 release notes |
| LibJPEG | v8d | release notes ST modified 20190329 release notes |
| LwIP | v2.1.2 | release notes ST modified 20190315 release notes |
| FatFS | R0.12c | release notes ST modified 20191011 release notes |
| mbedTLS | v2.16.2 | release notes ST modified 20200825 release notes |
| OpenAmp | v2018.10 | release notes ST modified 20200110 release notes |
| STM32_Network_Library | v2.1.2 | release notes |
| Name | Version | Release note |
|---|---|---|
| Fonts | V2.0.2 | release notes |
| CPU | V1.1.2 | release notes |
| JPEG | V2.0.0 | release notes |
| ResourcesManager | V1.4.0 | release notes |
| lcd | V2.0.1 | release notes |
| Lcd_Trace | V2.0.0 | release notes |
| Common | V1.4.1 | release notes |
Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 or upper version (“AC5-like Warnings” mode)
No impact of the above warnings on the functional behavior
IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.9 + ST-LINKV3.
STM32CubeIDE toolchain (gcc9_2020_q2_update) v1.7.0
System Workbench for STM32 (SW4STM32) (7-2018-q2-update) v2.9.0.
| Name | Version | Release note |
|---|---|---|
| STM32H7xx CMSIS | v1.10.1 | release notes |
| STM32H7xx HAL | v1.10.1 | release notes |
Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 or upper version (“AC5-like Warnings” mode)
No impact of the above warnings on the functional behavior.
IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.9 + ST-LINKV3.
STM32CubeIDE toolchain (gcc9_2020_q2_update) v1.7.0
System Workbench for STM32 (SW4STM32) (7-2018-q2-update) v2.9.0.
Maintenance release
General updates to fix known defects and implementation enhancements
Add new HDP application on STM32H7B3I-EVAL, STM32H7B3I-DK and STM32H735G-DK boards to demonstrate how to use an RSS service to jump from secure area to non-secure area
Update to support FreeRTOS v10.3.1 (ST modified 20200831), USB Device V2.7.1, and mbedTLS v2.16.2 (ST modified 20200825)
Update STM32H747I-DISCO BSP Driver to support “OV5640” camera
General updates to fix known defects and implementation enhancements
Template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 (“AC5-like Warnings” mode)
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | v5.6.0 | release notes |
| STM32H7xx CMSIS | v1.10.0 | release notes |
| STM32H7xx HAL | v1.10.0 | release notes |
| BSP STM32H7xx_Nucleo | v1.3.0 | release notes |
| BSP STM32H735G-DK | v1.2.0 | release notes |
| BSP STM32H7B3I-EVAL | v2.3.0 | release notes |
| BSP STM32H7B3I-DK | v2.3.0 | release notes |
| BSP STM32H743I-EVAL | v3.3.0 | release notes |
| BSP STM32H745I-DISCO | v3.3.0 | release notes |
| BSP STM32H747I-EVAL | v3.3.0 | release notes |
| BSP STM32H747I-DISCO | v3.5.0 | release notes |
| BSP STM32H750B-DK | v3.3.0 | release notes |
| BSP Adafruit_Shield | v5.0.1 | release notes |
| BSP Common | v7.0.0 | release notes |
| BSP adv7533 | v2.0.1 | release notes |
| BSP ampire480272 | v1.0.3 | release notes |
| BSP ampire640480 | v1.0.3 | release notes |
| BSP cs42l51 | v2.0.1 | release notes |
| BSP exc7200 | v2.0.1 | release notes |
| BSP ft5336 | v2.0.1 | release notes |
| BSP ft6x06 | v2.0.0 | release notes |
| BSP lan8742 | v1.0.1 | release notes |
| BSP mfxstm32l152 | v3.0.2 | release notes |
| BSP m24lr64 | v1.0.0 | release notes |
| BSP mt25tl01g | v2.3.0 | release notes |
| BSP mx25lm51245g | v2.0.2 | release notes |
| BSP mt48lc4m32b2 | v1.0.1 | release notes |
| BSP is42s32800j | v1.0.0 | release notes |
| BSP is42s32800g | v1.0.0 | release notes |
| BSP is42s16800j | v1.0.0 | release notes |
| BSP otm8009a | v2.0.0 | release notes |
| BSP ov9655 | v2.2.0 | release notes |
| BSP ov5640 | v3.2.0 | release notes |
| BSP rk043fn48h | v1.0.3 | release notes |
| BSP rk070er9427 | v1.0.0 | release notes |
| BSP s5k5cag | v2.0.0 | release notes |
| BSP s70kl1281 | v1.0.0 | release notes |
| BSP st7735 | v2.0.2 | release notes |
| BSP stmpe811 | v3.0.0 | release notes |
| BSP ts3510 | v2.0.0 | release notes |
| BSP wm8994 | v3.0.2 | release notes |
| BSP es_wifi | v1.6.0 | release notes |
| BSP mx_wifi | v1.0.4 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Device Library | v2.7.1 | release notes |
| STM32 USB Host Library | v3.3.4 | release notes |
| STemWin | v5.44 | release notes |
| TouchGFX | v4.12.3_20200316 | release notes |
| STM32 PDM audio software decoding Library | v3.3.0 | release notes |
| FreeRTOS MPU | v10.3.1 | release notes ST modified 20200831 release notes |
| LibJPEG | v8d | release notes ST modified 20190329 release notes |
| LwIP | v2.1.2 | release notes ST modified 20190315 release notes |
| FatFS | R0.12c | release notes ST modified 20191011 release notes |
| mbedTLS | v2.16.2 | release notes ST modified 20200825 release notes |
| OpenAmp | v2018.10 | release notes ST modified 20200110 release notes |
| STM32_Network_Library | v2.1.2 | release notes |
| Name | Version | Release note |
|---|---|---|
| Fonts | V2.0.2 | release notes |
| CPU | V1.1.2 | release notes |
| JPEG | V2.0.0 | release notes |
| ResourcesManager | V1.4.0 | release notes |
| lcd | V2.0.1 | release notes |
| Lcd_Trace | V2.0.0 | release notes |
| Common | V1.4.1 | release notes |
Only template projects migrated to Arm Compiler 6 with MDK-ARM 5.29 or upper version (“AC5-like Warnings” mode)
No impact of the above warnings on the functional behavior
Official release to support STM32H723xx/33xx/25xx/35xx/30xx/30xxQ new devices
Add support of the STM32H735G-DK and NUCLEO-H723ZG boards. Several examples applications and demonstrations are available on EWARM, MDK-ARM and STM32CubeIDE IDEs
Add support for STM32H735G-DK and NUCLEO-H723ZG boards : Including HAL and LL template projects HAL/LL examples, MIX HAL/LL examples, applications and demonstrations all with support of EWARM, MDK-ARM and STM32CUbeIDE IDEs (release notes)
Enrich STM32H7B3I-DK examples with FMC_SDRAM example, Two OSPI examples and three OTFDEC examples
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | v5.4.0 | release notes |
| STM32H7xx CMSIS | v1.9.0 | release notes |
| STM32H7xx HAL | v1.9.0 | release notes |
| BSP STM32H7xx_Nucleo | v1.1.0 | release notes |
| BSP STM32H735G-DK | v1.0.0 | release notes |
| BSP STM32H7B3I-EVAL | v2.1.0 | release notes |
| BSP STM32H7B3I-DK | v2.1.0 | release notes |
| BSP STM32H743I-EVAL | v3.1.0 | release notes |
| BSP STM32H745I-DISCO | v3.1.0 | release notes |
| BSP STM32H747I-EVAL | v3.1.0 | release notes |
| BSP STM32H747I-DISCO | v3.1.0 | release notes |
| BSP STM32H750B-DK | v3.1.0 | release notes |
| BSP Adafruit_Shield | v5.0.1 | release notes |
| BSP Common | v7.0.0 | release notes |
| BSP adv7533 | v2.0.1 | release notes |
| BSP ampire480272 | v1.0.3 | release notes |
| BSP ampire640480 | v1.0.3 | release notes |
| BSP cs42l51 | v2.0.1 | release notes |
| BSP exc7200 | v2.0.1 | release notes |
| BSP ft5336 | v2.0.1 | release notes |
| BSP ft6x06 | v2.0.0 | release notes |
| BSP lan8742 | v1.0.1 | release notes |
| BSP mfxstm32l152 | v3.0.2 | release notes |
| BSP m24lr64 | v1.0.0 | release notes |
| BSP mt25tl01g | v2.1.0 | release notes |
| BSP mx25lm51245g | v2.0.2 | release notes |
| BSP mt48lc4m32b2 | v1.0.1 | release notes |
| BSP is42s32800j | v1.0.0 | release notes |
| BSP is42s32800g | v1.0.0 | release notes |
| BSP is42s16800j | v1.0.0 | release notes |
| BSP otm8009a | v2.0.0 | release notes |
| BSP ov9655 | v2.0.0 | release notes |
| BSP ov5640 | v1.0.0 | release notes |
| BSP rk043fn48h | v1.0.3 | release notes |
| BSP rk070er9427 | v1.0.0 | release notes |
| BSP s5k5cag | v2.0.0 | release notes |
| BSP s70kl1281 | v1.0.0 | release notes |
| BSP st7735 | v2.0.2 | release notes |
| BSP stmpe811 | v3.0.0 | release notes |
| BSP ts3510 | v2.0.0 | release notes |
| BSP wm8994 | v3.0.2 | release notes |
| BSP es_wifi | v1.6.0 | release notes |
| BSP mx_wifi | v1.0.4 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Device Library | v2.6.0 | release notes |
| STM32 USB Host Library | v3.3.4 | release notes |
| STemWin | v5.44 | release notes |
| TouchGFX | v4.12.3 | release notes |
| STM32 PDM audio software decoding Library | v3.3.0 | release notes |
| FreeRTOS MPU | v10.2.1 | release notes ST modified 20200117 release notes |
| LibJPEG | v8d | release notes ST modified 20190329 release notes |
| LwIP | v2.1.2 | release notes ST modified 20190315 release notes |
| FatFS | R0.12c | release notes ST modified 20191011 release notes |
| mbedTLS | v2.16.2 | release notes ST modified 20200117 release notes |
| OpenAmp | v2018.10 | release notes ST modified 20200110 release notes |
| STM32_Network_Library | v2.1.2 | release notes |
| Name | Version | Release note |
|---|---|---|
| Fonts | V2.0.2 | release notes |
| CPU | V1.1.2 | release notes |
| JPEG | V2.0.0 | release notes |
| ResourcesManager | V1.4.0 | release notes |
| lcd | V2.0.0 | release notes |
| Lcd_Trace | V2.0.0 | release notes |
| Common | V1.4.0 | release notes |
Maintenance release
Add support of the value line STM32H7B0 devices over STM32H7B3I-EVAL board. Two examples, with several configurations, are available to show how to boot from internal flash, configure the external memories and jump to user application (located on an external memory)
Add support of STM32H7B3I-DK demonstrations for Keil and STM32CubeIDE toolchains
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 exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects Release Note is available release notes
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | V5.4.0 | release notes |
| STM32H7xx CMSIS | V1.8.0 | release notes |
| STM32H7xx HAL | V1.8.0 | release notes |
| BSP STM32H7B3I-EVAL | V1.0.1 | release notes |
| BSP STM32H7B3I-DK | V1.0.1 | release notes |
| BSP STM32H743I-EVAL | V2.0.0 | release notes |
| BSP STM32H7xx_Nucleo | V1.0.0 | release notes |
| BSP STM32H745I-DISCO | V2.0.0 | release notes |
| BSP STM32H747I-EVAL | V2.0.0 | release notes |
| BSP STM32H747I-DISCO | V2.0.0 | release notes |
| BSP STM32H750B-DK | V2.0.0 | release notes |
| BSP Adafruit_Shield | V4.0.4 | release notes |
| BSP Common | V6.0.1 | release notes |
| BSP adv7533 | v2.0.1 | release notes |
| BSP ampire480272 | v1.0.3 | release notes |
| BSP ampire640480 | v1.0.3 | release notes |
| BSP cs42l51 | v2.0.1 | release notes |
| BSP exc7200 | v2.0.1 | release notes |
| BSP ft6x06 | v2.0.0 | release notes |
| BSP ft5336 | v2.0.0 | release notes |
| BSP lan8742 | v1.0.1 | release notes |
| BSP mfxstm32l152 | v3.0.2 | release notes |
| BSP m24lr64 | v1.0.0 | release notes |
| BSP mt25tl01g | v2.0.0 | release notes |
| BSP mx25lm51245g | v2.0.2 | release notes |
| BSP mt48lc4m32b2 | v1.0.0 | release notes |
| BSP is42s32800j | v1.0.0 | release notes |
| BSP is42s32800g | v1.0.0 | release notes |
| BSP is42s16800j | v1.0.0 | release notes |
| BSP otm8009a | v2.0.0 | release notes |
| BSP ov9655 | v2.0.0 | release notes |
| BSP ov5640 | v1.0.0 | release notes |
| BSP rk043fn48h | v1.0.3 | release notes |
| BSP rk070er9427 | v1.0.0 | release notes |
| BSP s5k5cag | v2.0.0 | release notes |
| BSP st7735 | v2.0.2 | release notes |
| BSP stmpe811 | v3.0.0 | release notes |
| BSP ts3510 | v2.0.0 | release notes |
| BSP wm8994 | v3.0.2 | release notes |
| BSP es_wifi | v1.5.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Host Library | V3.3.4 | release notes |
| STM32 USB Device Library | V2.5.3 | release notes |
| FatFS | R0.12c | release notes ST modified 20191011 release notes |
| FreeRTOS MPU | V10.2.1 | release notes ST modified 20190719 release notes |
| LwIP | V2.0.3 | release notes ST modified 20180813 release notes |
| STemWin | V5.44 | release notes |
| TouchGFX | V4.12.3 | release notes |
| LibJPEG | V8d | release notes ST modified 20190329 release notes |
| mbedTLS | V2.14.1 | release notes ST modified 20190329 release notes |
| STM32 PDM audio software decoding Library | V3.1.0 | release notes |
| OpenAmp | V2018.10 | release notes ST modified 20191011 release notes |
| STM32_Network_Library | V1.0.4 | release notes |
| Name | Version | Release note |
|---|---|---|
| CPU | V1.1.2 | release notes |
| Fonts | V2.0.2 | release notes |
| Lcd_Trace | V1.1.0 | release notes |
| JPEG | V2.0.0 | release notes |
| ResourcesManager | V1.4.0 | release notes |
| Basic_GUI | V1.0.2 | release notes |
| Common | V1.3.0 | release notes |
No impact of these warnings on the functional behavior
Official release to support STM32H7A3xx, STM32H7A3xxQ, STM32H7B3xx, STM32H7B3xxQ, STM32H7B0xx and STM32H7B0xxQ new devices
Add support of the STM32H7B3I-DK, STM32H7B3I-EVAL and NUCLEO-H7A3ZI-Q boards. Several examples applications and demonstrations are available on EWARM, Keil and STM32CubeIDE IDEs
Add support of the value line STM32H7B0 devices over STM32H7B3I-DK discovery board. Two examples, with several configurations, are available to show how to boot from internal flash, configure the external memories and jump to user application (located on an external memory)
BSP drivers developed in line with STM32Cube BSP drivers development guidelines (UM2298). Legacy BSP drivers were migrated too to insure coherence.
All legacy examples, applications and demonstrations are updated following BSP drivers updates.
Update legacy projects, using BSP drivers, following alignment with “STM32Cube BSP drivers development guidelines” (UM2298)
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 exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
Projects Release Note is available release notes
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | V5.4.0 | release notes |
| STM32H7xx CMSIS | V1.7.0 | release notes |
| STM32H7xx HAL | V1.7.0 | release notes |
| BSP STM32H7B3I-EVAL | V1.0.0 | release notes |
| BSP STM32H7B3I-DK | V1.0.0 | release notes |
| BSP STM32H743I-EVAL | V2.0.0 | release notes |
| BSP STM32H7xx_Nucleo | V1.0.0 | release notes |
| BSP STM32H745I-DISCO | V2.0.0 | release notes |
| BSP STM32H747I-EVAL | V2.0.0 | release notes |
| BSP STM32H747I-DISCO | V2.0.0 | release notes |
| BSP STM32H750B-DK | V2.0.0 | release notes |
| BSP Adafruit_Shield | V4.0.4 | release notes |
| BSP Common | V6.0.1 | release notes |
| BSP adv7533 | v2.0.1 | release notes |
| BSP ampire480272 | v1.0.3 | release notes |
| BSP ampire640480 | v1.0.3 | release notes |
| BSP cs42l51 | v2.0.1 | release notes |
| BSP exc7200 | v2.0.1 | release notes |
| BSP ft6x06 | v2.0.1 | release notes |
| BSP ft5336 | v2.0.0 | release notes |
| BSP lan8742 | v1.0.1 | release notes |
| BSP mfxstm32l152 | v3.0.2 | release notes |
| BSP m24lr64 | v1.0.0 | release notes |
| BSP mt25tl01g | v2.0.0 | release notes |
| BSP mx25lm51245g | v2.0.1 | release notes |
| BSP mt48lc4m32b2 | v1.0.0 | release notes |
| BSP is42s32800j | v1.0.0 | release notes |
| BSP is42s32800g | v1.0.0 | release notes |
| BSP is42s16800j | v1.0.0 | release notes |
| BSP otm8009a | v2.0.0 | release notes |
| BSP ov9655 | v2.0.0 | release notes |
| BSP ov5640 | v1.0.0 | release notes |
| BSP rk043fn48h | v1.0.3 | release notes |
| BSP rk070er9427 | v1.0.0 | release notes |
| BSP s5k5cag | v2.0.0 | release notes |
| BSP st7735 | v2.0.2 | release notes |
| BSP stmpe811 | v3.0.0 | release notes |
| BSP ts3510 | v2.0.0 | release notes |
| BSP wm8994 | v3.0.2 | release notes |
| BSP es_wifi | v1.5.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Host Library | V3.3.3 | release notes |
| STM32 USB Device Library | V2.5.3 | release notes |
| FatFS | R0.12c | release notes ST modified 20191011 release notes |
| FreeRTOS MPU | V10.2.1 | release notes ST modified 20190719 release notes |
| LwIP | V2.0.3 | release notes ST modified 20180813 release notes |
| STemWin | V5.44 | release notes |
| TouchGFX | V4.12.3 | release notes |
| LibJPEG | V8d | release notes ST modified 20190329 release notes |
| mbedTLS | V2.14.1 | release notes ST modified 20190329 release notes |
| STM32 PDM audio software decoding Library | V3.1.0 | release notes |
| OpenAmp | V2018.10 | release notes ST modified 20191011 release notes |
| STM32_Network_Library | V1.0.4 | release notes |
| Name | Version | Release note |
|---|---|---|
| CPU | V1.1.2 | release notes |
| Fonts | V2.0.2 | release notes |
| Lcd_Trace | V1.1.0 | release notes |
| JPEG | V2.0.0 | release notes |
| ResourcesManager | V1.4.0 | release notes |
| Basic_GUI | V1.0.2 | release notes |
| Common | V1.3.0 | release notes |
No impact of these warnings on the functional behavior
Demonstrations for STM32H743I-EVAL and STM32H747I-EVAL are provided as binaries only
Demonstrations for STM32H7B3I-EVAL is provided as binaries only
STM32H7B3I-DK demonstration is provided with EWARM toolchain only
Value Line applications, STM32H7B3I-DK_CodeExecution, are not supported with STM32CubeIDE toolchain
Maintenance release.
Cortex-M CMSIS Core: Update to new version V5.4.0 Please Refer to the release notes for detailed)
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 exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
NUCLEO-H743ZI
NUCLEO-H745ZI-Q
STM32H743I-EVAL
STM32H745I-DISCO
STM32H747I-DISCO
STM32H747I-EVAL
STM32H750B-DK
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | V5.4.0 | release notes |
| STM32H7xx CMSIS | V1.6.0 | release notes |
| STM32H7xx HAL | V1.6.0 | release notes |
| BSP STM32H743I_EVAL | V1.3.0 | release notes |
| BSP STM32H7xx_Nucleo_144 | V1.3.0 | release notes |
| BSP STM32H745I-Discovery | V1.0.0 | release notes |
| BSP STM32H747I_EVAL | V1.0.0 | release notes |
| BSP STM32H747I-Discovery | V1.0.0 | release notes |
| BSP STM32H750B-Discovery | V1.0.0 | release notes |
| BSP Adafruit_Shield | V3.0.5 | release notes |
| BSP adv7533 | V1.0.1 | release notes |
| BSP ampire480272 | V1.0.0 | release notes |
| BSP ampire640480 | V1.0.0 | release notes |
| BSP Common | V4.0.1 | release notes |
| BSP exc7200 | V1.0.1 | release notes |
| BSP ft6x06 | V1.0.0 | release notes |
| BSP ft5336 | V1.0.0 | release notes |
| BSP lan8742 | V1.0.0 | release notes |
| BSP mfxstm32l152 | V2.0.0 | release notes |
| BSP mt25tl01g | V1.0.0 | release notes |
| BSP otm8009a | V1.0.2 | release notes |
| BSP ov9655 | V1.0.0 | release notes |
| BSP rk043fn48h | V1.0.0 | release notes |
| BSP st7735 | V1.1.1 | release notes |
| BSP stmpe811 | V2.0.0 | release notes |
| BSP ts3510 | V1.0.1 | release notes |
| BSP wm8994 | V2.1.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Host Library | V3.3.3 | release notes |
| STM32 USB Device Library | V2.5.3 | release notes |
| FatFS | R0.12c | release notes ST modified 20190329 release notes |
| FreeRTOS MPU | V10.0.1 | release notes ST modified 20190329 release notes |
| LwIP | V2.0.3 | release notes ST modified 20180813 release notes |
| STemWin | V5.44 | release notes |
| TouchGFX | V4.10.0 | release notes |
| LibJPEG | V8d | release notes ST modified 20190329 release notes |
| mbedTLS | V2.14.1 | release notes ST modified 20190329 release notes |
| STM32 PDM audio software decoding Library | V3.1.0 | release notes |
| OpenAmp | V2018.10 | release notes ST modified 20190329 release notes |
| Name | Version | Release note |
|---|---|---|
| CPU | V1.1.0 | release notes |
| Fonts | V1.0.0 | release notes |
| Log | V1.0.1 | release notes |
| JPEG | V2.0.0 | release notes |
| ResourcesManager | V1.4.0 | release notes |
No impact of these warnings on the functional behavior
Add support of the STM32H750B-DISCO value line discovery board. several examples applications and demonstrations are available to show how to boot from internal flash, configure the external memories and jump to user application (located on an external memory)
Add support of power voltage scaling zero (VOS0) available on STM32H7 Rev.V devices and allowing to reach 480MHz system clock
Thanks to the acquisition of Draupner Graphics A/S, ST is extending the STM32 ecosystem with advanced and easy to use graphic software solution enabling stunning GUI additions to embedded devices. TouchGFX solution is now fully part of STM32CubeH7.
TouchGFX examples and demonstrations can be accessed directly through the TouchGFX Designer tool. Here you simply create a new project, select the appropriate ST board in the “Application Template” section and select whatever demonstration or example you want in the “UI Template” selector. After this you will have a TouchGFX application ready to compile and flash to the selected ST board. More information are available here
Demonstrations binaries are no more delivered within the STM32CubeH7 MCU package. They are available for download, in addition to their required media files if any, in a standalone package accessible through each hardware board official webpage. Please refer to the corresponding demonstration binary readme.txt to get webpage for each board.
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 exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
NUCLEO-H743ZI
NUCLEO-H745ZI-Q
STM32H743I-EVAL
STM32H745I-DISCO
STM32H747I-DISCO
STM32H747I-EVAL
STM32H750B-DK
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | V5.0.1 | release notes |
| STM32H7xx CMSIS | V1.5.0 | release notes |
| STM32H7xx HAL | V1.5.0 | release notes |
| BSP STM32H743I_EVAL | V1.3.0 | release notes |
| BSP STM32H7xx_Nucleo_144 | V1.3.0 | release notes |
| BSP STM32H745I-Discovery | V1.0.0 | release notes |
| BSP STM32H747I_EVAL | V1.0.0 | release notes |
| BSP STM32H747I-Discovery | V1.0.0 | release notes |
| BSP STM32H750B-Discovery | V1.0.0 | release notes |
| BSP Adafruit_Shield | V3.0.0 | release notes |
| BSP adv7533 | V1.0.1 | release notes |
| BSP ampire480272 | V1.0.0 | release notes |
| BSP ampire640480 | V1.0.0 | release notes |
| BSP Common | V4.0.1 | release notes |
| BSP exc7200 | V1.0.1 | release notes |
| BSP ft6x06 | V1.0.0 | release notes |
| BSP ft5336 | V1.0.0 | release notes |
| BSP lan8742 | V1.0.0 | release notes |
| BSP mfxstm32l152 | V2.0.0 | release notes |
| BSP mt25tl01g | V1.0.0 | release notes |
| BSP otm8009a | V1.0.2 | release notes |
| BSP ov9655 | V1.0.0 | release notes |
| BSP rk043fn48h | V1.0.0 | release notes |
| BSP st7735 | V1.1.1 | release notes |
| BSP stmpe811 | V2.0.0 | release notes |
| BSP ts3510 | V1.0.1 | release notes |
| BSP wm8994 | V2.1.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Host Library | V3.3.2 | release notes |
| STM32 USB Device Library | V2.5.1 | release notes |
| FatFS | R0.12c | release notes ST modified 20190329 release notes |
| FreeRTOS MPU | V10.0.1 | release notes ST modified 20190329 release notes |
| LwIP | V2.0.3 | release notes ST modified 20180813 release notes |
| STemWin | V5.44 | release notes |
| TouchGFX | V4.10.0 | release notes |
| LibJPEG | V8d | release notes ST modified 20190329 release notes |
| mbedTLS | V2.14.1 | release notes ST modified 20190329 release notes |
| STM32 PDM audio software decoding Library | V3.1.0 | release notes |
| OpenAmp | V2018.10 | release notes ST modified 20190329 release notes |
| Name | Version | Release note |
|---|---|---|
| CPU | V1.1.0 | release notes |
| Fonts | V1.0.0 | release notes |
| Log | V1.0.1 | release notes |
| JPEG | V2.0.0 | release notes |
| ResourcesManager | V1.4.0 | release notes |
Patch release to add definition of UID_BASE (Unique device ID register base address) to the CMSIS STM32H7xx include files.
Patch release to Fix LwIP and mbedTLS applications : enhance Ethernet zero-copy feature allowing to fix ping behavior.
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 exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
NUCLEO-H743ZI
STM32H743I-EVAL
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | V5.0.1 | release notes |
| STM32H7xx CMSIS | V1.3.0 | release notes |
| STM32H7xx HAL | V1.3.0 | release notes |
| BSP STM32H743I_EVAL | V1.2.0 | release notes |
| BSP STM32H7xx_Nucleo_144 | V1.2.0 | release notes |
| BSP Adafruit_Shield | V3.0.0 | release notes |
| BSP ampire480272 | V1.0.0 | release notes |
| BSP ampire640480 | V1.0.0 | release notes |
| BSP Common | V4.0.1 | release notes |
| BSP exc7200 | V1.0.1 | release notes |
| BSP ft5336 | V1.0.0 | release notes |
| BSP ft6x06 | V1.0.0 | release notes |
| BSP mfxstm32l152 | V2.0.0 | release notes |
| BSP mt25tl01g | V1.0.0 | release notes |
| BSP ov9655 | V1.0.0 | release notes |
| BSP rk043fn48h | V1.0.0 | release notes |
| BSP st7735 | V1.1.1 | release notes |
| BSP stmpe811 | V2.0.0 | release notes |
| BSP ts3510 | V1.0.1 | release notes |
| BSP wm8994 | V2.1.0 | release notes |
| BSP lan8742 | V1.0.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Host Library | V3.2.2 | release notes |
| STM32 USB Device Library | V2.4.2 | release notes |
| FatFS | R0.12c | release notes ST modified 20171110 release notes |
| FreeRTOS MPU | V9.0.0 | release notes ST modified 20170303 release notes |
| LwIP | V2.0.3 | release notes ST modified 20171110 release notes |
| STemWin | V5.40 | release notes |
| LibJPEG | V8d | release notes ST modified 20161118 release notes |
| mbedTLS | V2.6.1 | release notes ST modified 20171110 release notes |
| STM32 PDM audio software decoding Library | V3.0.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| CPU | V1.1.0 | release notes |
| Fonts | V1.0.0 | release notes |
| Log | V1.0.1 | release notes |
| JPEG | V2.0.0 | release notes |
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 exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
NUCLEO-H743ZI
STM32H743I-EVAL
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | V5.0.1 | release notes |
| STM32H7xx CMSIS | V1.2.0 | release notes |
| STM32H7xx HAL | V1.2.0 | release notes |
| BSP STM32H743I_EVAL | V1.2.0 | release notes |
| BSP STM32H7xx_Nucleo_144 | V1.2.0 | release notes |
| BSP Adafruit_Shield | V3.0.0 | release notes |
| BSP ampire480272 | V1.0.0 | release notes |
| BSP ampire640480 | V1.0.0 | release notes |
| BSP Common | V4.0.1 | release notes |
| BSP exc7200 | V1.0.1 | release notes |
| BSP ft5336 | V1.0.0 | release notes |
| BSP ft6x06 | V1.0.0 | release notes |
| BSP mfxstm32l152 | V2.0.0 | release notes |
| BSP mt25tl01g | V1.0.0 | release notes |
| BSP ov9655 | V1.0.0 | release notes |
| BSP rk043fn48h | V1.0.0 | release notes |
| BSP st7735 | V1.1.1 | release notes |
| BSP stmpe811 | V2.0.0 | release notes |
| BSP ts3510 | V1.0.1 | release notes |
| BSP wm8994 | V2.1.0 | release notes |
| BSP lan8742 | V1.0.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Host Library | V3.2.2 | release notes |
| STM32 USB Device Library | V2.4.2 | release notes |
| FatFS | R0.12c | release notes ST modified 20171110 release notes |
| FreeRTOS MPU | V9.0.0 | release notes ST modified 20170303 release notes |
| LwIP | V2.0.3 | release notes ST modified 20171110 release notes |
| STemWin | V5.40 | release notes |
| LibJPEG | V8d | release notes ST modified 20161118 release notes |
| mbedTLS | V2.6.1 | release notes ST modified 20171110 release notes |
| STM32 PDM audio software decoding Library | V3.0.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| CPU | V1.1.0 | release notes |
| Fonts | V1.0.0 | release notes |
| Log | V1.0.1 | release notes |
| JPEG | V2.0.0 | release notes |
Add Demonstration Firmware for STM32H743I_EVAL.
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 exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
NUCLEO-H743ZI
STM32H743I-EVAL
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | V5.0.1 | release notes |
| STM32H7xx CMSIS | V1.1.0 | release notes |
| STM32H7xx HAL | V1.1.0 | release notes |
| BSP STM32H743I_EVAL | V1.1.0 | release notes |
| BSP STM32H7xx_Nucleo_144 | V1.1.0 | release notes |
| BSP Adafruit_Shield | V3.0.0 | release notes |
| BSP ampire480272 | V1.0.0 | release notes |
| BSP ampire640480 | V1.0.0 | release notes |
| BSP Common | V4.0.1 | release notes |
| BSP exc7200 | V1.0.1 | release notes |
| BSP ft5336 | V1.0.0 | release notes |
| BSP ft6x06 | V1.0.0 | release notes |
| BSP mfxstm32l152 | V2.0.0 | release notes |
| BSP mt25tl01g | V1.0.0 | release notes |
| BSP ov9655 | V1.0.0 | release notes |
| BSP rk043fn48h | V1.0.0 | release notes |
| BSP st7735 | V1.1.1 | release notes |
| BSP stmpe811 | V2.0.0 | release notes |
| BSP ts3510 | V1.0.1 | release notes |
| BSP wm8994 | V2.1.0 | release notes |
| BSP lan8742 | V1.0.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Host Library | V3.2.2 | release notes |
| STM32 USB Device Library | V2.4.2 | release notes |
| FatFS | R0.12c | release notes ST modified 20170303 release notes |
| FreeRTOS MPU | V9.0.0 | release notes ST modified 20170303 release notes |
| LwIP | V2.0.0 | release notes ST modified 20161223 release notes |
| STemWin | V5.40 | release notes |
| LibJPEG | V8d | release notes ST modified 20161118 release notes |
| mbedTLS | V2.4.0 | release notes ST modified 20161223 release notes |
| STM32 PDM audio software decoding Library | V3.0.0 | release notes |
| ame | Version | Release note |
|---|---|---|
| CPU | V1.1.0 | release notes |
| Fonts | V1.0.0 | release notes |
| Log | V1.0.1 | release notes |
| JPEG | V2.0.0 | release notes |
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 exhaustive list of projects is provided in this table STM32CubeProjectsList.html.
NUCLEO-H743ZI
STM32H743I-EVAL
| Name | Version | Release note |
|---|---|---|
| Cortex-M CMSIS | V5.0.1 | release notes |
| STM32H7xx CMSIS | V1.0.0 | release notes |
| STM32H7xx HAL | V1.0.0 | release notes |
| BSP STM32H743I_EVAL | V1.0.0 | release notes |
| BSP STM32H7xx_Nucleo_144 | V1.0.0 | release notes |
| BSP Adafruit_Shield | V3.0.0 | release notes |
| BSP ampire480272 | V1.0.0 | release notes |
| BSP ampire640480 | V1.0.0 | release notes |
| BSP Common | V4.0.1 | release notes |
| BSP exc7200 | V1.0.1 | release notes |
| BSP ft5336 | V1.0.0 | release notes |
| BSP ft6x06 | V1.0.0 | release notes |
| BSP mfxstm32l152 | V2.0.0 | release notes |
| BSP mt25tl01g | V1.0.0 | release notes |
| BSP ov9655 | V1.0.0 | release notes |
| BSP rk043fn48h | V1.0.0 | release notes |
| BSP st7735 | V1.1.1 | release notes |
| BSP stmpe811 | V2.0.0 | release notes |
| BSP ts3510 | V1.0.1 | release notes |
| BSP wm8994 | V2.1.0 | release notes |
| BSP lan8742 | V1.0.0 | release notes |
| Name | Version | Release note |
|---|---|---|
| STM32 USB Host Library | V3.2.2 | release notes |
| STM32 USB Device Library | V2.4.2 | release notes |
| FatFS | R0.12c | release notes |
| FreeRTOS | V9.0.0 | release notes ST modified 20170303 release notes |
| LwIP | V2.0.0 | release notes ST modified 20161223 release notes |
| STemWin | V5.32 | release notes |
| LibJPEG | V8d | release notes ST modified 20161118 release notes |
| mbedTLS | V2.4.0 | release notes ST modified 20161223 release notes |
| STM32 PDM audio software decoding Library | V3.0.0 | release notes |
| Name | Version | Release note | |
|---|---|---|---|
| CPU | V1.1.0 | release notes | |
| Fonts | V1.0.0 | release notes | |
| Log | V1.0.1 | release notes | |
| JPEG | V2.0.0 | release notes |


property Observer: TNotifiablePersistent;
The Observer property is a class that will be notified of any changes to the properties of the kernel (by a change notification).
[See also]:


I bought a domain paska.app (translated to english: shit.app) as a joke from hetzner somewhere May 2022, and for whatever reason i was under the impression that i had that one domain cancelled already. After i went trough my inbox, i had an unpaid bill for 26€, it was around 3 weeks late so i checked it and watched the money burn.
There are a lot of good reasons to use hetzner, i got to say they have good quality products for the price.
But i'm deleting my hetzner account for good and here are the main reasons:
- Using account numbers like C123456789 then K123456789 instead of username/email by default
- Deleting FreeBSD install script from dedicated server lineup
- Big part of their emails are sent in german, i'm not good at it
- Until a domain gets cancelled for good, there is 1 month waiting peroid before deletion


v0.4.0 Updated the manifest to use com.hipmobtitanium rather than hipmobtitanium as the id: this fixed errors with the example app.js functionality when trying to run the module example file using "ant run".
v0.3.0 Initial Release


Chapter 5 of "Search Inside Yourself" deals with triggers - when a seemingly small situation causes a disproportionally large emotional response in us. It could be identified by body reactions (shallow breathing, rapid heartbeat, etc). They almost always have long histories behind the, and often bring back something from the past.
The Siberian North Railroad is a practise for dealing with triggers. It has five steps: Stop, Breathe, Notice, Reflect, and Respond (SBNRR = SiBerian North Rail-Road).


Suttas of the Samyutta Nikaya
Rahulasamyutta
II. Nidanaavagga (Nidaanavagga, Nidānavagga)
BD: On The Downbound
PTS: The Nidana Book
WP: Connected Discourses on Causation
VII. Rahulasamyutta, II.244
PTS: Kindred Sayings about Rahula, II.165
WP: Connected Discourses with Rahula, I.694
I.
1. Cakkhu Suttaṃ, II.244
PTS: The Eye, II.165
WP: The Eye, Etc., I.194
2. Rūpa Suttaṃ (Ruupam, Rupam), II.245
PTS: Thing Seen, II.166
WP: Forms, Etc., I.695
3. Viññāṇa Suttaṃ (Vi~n~naa.na.m, Vinnanam), II.246
PTS: Awareness, II.166
WP: Consciousness, I.695
4. Samphasso Suttaṃ, II.246
PTS: Contact, II.166
WP: Contact, I.695
5. Vedanā Suttaṃ (Vedanaa, Vedana), II.247
PTS: Feeling, II.166
WP: Feeling, I.695
6. Saññā Suttaṃ (Sa~n~naa, Sanna), II.247
PTS: Perception, II.166
WP: Perception, I.696
7. Sañcetanā Suttaṃ (Sa~ncetanaa, Sancetana), II.247
PTS: Volition, II.166
WP: Volition, I.696
8. Taṇhā Suttaṃ (Ta.nhaa, Tanha), II.248
PTS: Craving, II.166
WP: Craving, I.696
9. Dhātu Suttaṃ (Dhaatu, Dhatu), II.
PTS: Element, II.166
WP: Elements, I.697
10. Khandha Suttaṃ, II.249
PTS: Aggregates, II.166
WP: Aggregates, I.697
II.
11. Cakkhu Suttaṃ, II.249
PTS: The Eye
WP: 11-20: The Eye, Etc., I.697
12. Rūpa Suttaṃ (Ruupam, Rupam), II.251
PTS: Thing Seen
13. Viññāṇa Suttaṃ (Vi~n~naa.na.m, Vinnanam), II.251
PTS: Awareness
14. Samphasso Suttaṃ, II.251
PTS: Contact
15. Vedanā Suttaṃ (Vedanaa, Vedana), II.251
PTS: Feeling
16. Saññā Suttaṃ (Sa~n~naa, Sanna), II.251
PTS: Perception
17. Sañcetanā Suttaṃ (Sa~ncetanaa, Sancetana), II.251
PTS: Volition
18. Taṇhā Suttaṃ (Ta.nhaa, Tanha), II.251
PTS: Craving
19. Dhātu Suttaṃ (Dhaatu, Dhatu), II.251
PTS: Element
20. Khandha Suttaṃ, II.252
PTS: Aggregates
21. Anusaya Suttaṃ, II.252
PTS: Insidious Tendency, II.167
WP: Underlying Tendency, I.698
22. Mānāpagata Suttaṃ, II.253
PTS: Gone Away From, II.168
WP: Rid Of, I.698


4 killed as gunmen open fire at backyard party in California
Police have not released a death toll but said nine people had been shot in the attack.
by AFPLos Angeles: Four people were shot dead and six others wounded while watching a football game in the backyard of a central California home on Sunday, police said.
Police were called to the scene after at least one person opened fire into a crowd of about 35 people gathered outside the house in Fresno, around 200 miles (320 kilometers) north of Los Angeles.
"Three people died on scene," Fresno deputy police chief Michael Reed told reporters, adding that a fourth was rushed to hospital in a critical condition and succumbed to his injuries there.
All four of the dead and the six treated for "non life-threatening" gunshot wounds were men aged between 25 and 35, Reed said.
"Our heart goes out to the families of the victims... this is senseless violence, he added.
"We are doing everything we can to bring the perpetrators to justice."
Reed said it was unclear how many perpetrators had been involved in the shooting and that there was "no indication" the incident was gang-related.
Police spokesman Bill Dooley said officers were looking for surveillance footage and witnesses to track the suspects.
Catch the latest news, live coverage and in-depth analyses from India and World. Follow us on Facebook and Twitter.


Deuteronomy 2:13
Now rise up, said I, and get you over the brook Zered. And we went over the brook Zered.


--- title: 'Cooperative asynchronous JavaScript: Timeouts and intervals' slug: Learn/JavaScript/Asynchronous/Timeouts_and_intervals tags: - Animation - Beginner - CodingScripting - Guide - Intervals - JavaScript - Loops - asynchronous - requestAnimationFrame - setInterval - setTimeout - timeouts ---
This tutorial looks at the traditional methods JavaScript has available for running code asychronously after a set time period has elapsed, or at a regular interval (e.g. a set number of times per second), discusses what they are useful for, and considers their inherent issues.
| Prerequisites: | Basic computer literacy, a reasonable understanding of JavaScript fundamentals. |
|---|---|
| Objective: | To understand asynchronous loops and intervals and what they are useful for. |
For a long time, the web platform has offered JavaScript programmers a number of functions that allow them to asynchronously execute code after a certain time interval has elapsed, and to repeatedly execute a block of code asynchronously until you tell it to stop.
These functions are:
setTimeout()
setInterval()
requestAnimationFrame()
setInterval()
. Executes a specified block of code before the browser next repaints the display, allowing an animation to be run at a suitable framerate regardless of the environment it is being run in.The asynchronous code set up by these functions runs on the main thread (after their specified timer has elapsed).
It's important to know that you can (and often will) run other code before a setTimeout()
call executes, or between iterations of setInterval()
. Depending on how processor-intensive these operations are, they can delay your async code even further, as any async code will execute only after the main thread is available. (In other words, when the stack is empty.) You will learn more on this matter as you progress through this article.
In any case, these functions are used for running constant animations and other background processing on a web site or application. In the following sections we will show you how they can be used.
As we said before,
setTimeout()
executes
a particular block of code once after a specified time has elapsed. It takes the following parameters:
0
(or omit the value), the function will run as soon as possible. (See the note below on why it runs "as soon as possible" and not "immediately".) More on why you might want to do this later.NOTE: The specified amount of time (or the delay) is not the guaranteed time to execution, but rather the minimum time to execution. The callbacks you pass to these functions cannot run until the stack on the main thread is empty.
As a consequence, code like setTimeout(fn, 0)
will execute as soon as the stack is empty, not immediately. If you execute code like setTimeout(fn, 0)
but then immediately after run a loop that counts from 1 to 10 billion, your callback will be executed after a few seconds.
In the following example, the browser will wait two seconds before executing the anonymous function, then will display the alert message (see it running live, and see the source code):
pre data-role="codeBlock" data-info="js" class="language-javascript" class="brush: js notranslate">let myGreeting = setTimeout(function() { alert('Hello, Mr. Universe!'); }, 2000)The functions you specify don't have to be anonymous. You can give your function a name, and even define it somewhere else and pass a function reference to the setTimeout()
. The following two versions of the code snippet are equivalent to the first one:
That can be useful if you have a function that needs to be called both from a timeout and in response to an event, for example. But it can also just help keep your code tidy, especially if the timeout callback is more than a few lines of code.
setTimeout()
returns an identifier value that can be used to refer to the timeout later, such as when you want to stop it. See {{anch("Clearing timeouts")}} (below) to learn how to do that.
Any parameters that you want to pass to the function being run inside the setTimeout()
must be passed to it as additional parameters at the end of the list.
For example, you could refactor the previous function so that it will say hi to whatever person's name is passed to it:
pre data-role="codeBlock" data-info="js" class="language-javascript" class="brush: js notranslate">function sayHi(who) { alert(`Hello ${who}!`); }Now, you can pass the name of the person into the setTimeout()
call as a third parameter:
Finally, if a timeout has been created, you can cancel it before the specified time has elapsed by calling
clearTimeout()
,
passing it the identifier of the setTimeout()
call as a parameter. So to cancel our above timeout, you'd
do this:
Note: See
greeter-app.html
for a slightly more involved demo that allows you to set the name of the person to say hello to in a form, and cancel
the greeting using a separate button (see
the source code also).
setTimeout()
works perfectly when you need to run code once after a set period of time. But what happens when you need to run the code over and over again—for example, in the case of an animation?
This is where
setInterval()
comes
in. This works in a very similar way to setTimeout()
, except that the function you pass as the first
parameter is executed repeatedly at no less than the number of milliseconds given by the second parameter apart,
rather than once. You can also pass any parameters required by the function being executed as subsequent parameters of
the setInterval()
call.
Let's look at an example. The following function creates a new
Date()
object,
extracts a time string out of it using
toLocaleTimeString()
,
and then displays it in the UI. It then runs the function once per second using setInterval()
, creating
the effect of a digital clock that updates once per second (see
this live, and also see
the source):
Just like setTimeout()
, setInterval()
returns an identifying value you can use later when you need to clear the interval.
setInterval()
keeps running a task forever, unless you do something about it. You'll probably want a way
to stop such tasks, otherwise you may end up getting errors when the browser can't complete any further versions of
the task, or if the animation being handled by the task has finished. You can do this the same way you stop timeouts —
by passing the identifier returned by the setInterval()
call to the
clearInterval()
function:
With this all said, we've got a challenge for you. Take a copy of our
setInterval-clock.html
example, and modify it to create your own simple stopwatch.
You need to display a time as before, but in this example, you need:
0
.Here's a few hints for you:
0
, then increments by one every second using a constant loop.Date()
object, like we've done in our version, but less accurate — you can't guarantee that the callback will fire after exactly 1000
ms. A more accurate way would be to run startTime = Date.now()
to get a timestamp of exactly when the user clicked the start button, and then do Date.now() - startTime
to get the number of milliseconds after the start button was clicked.3600
.60
.10
, so it looks more like a traditional clock/watch.0
, clear the interval, and then immediately update the display.setInterval()
s to the clock, leading to wrong behavior.Note: If you get stuck, you can find our version here (see the source code also).
There are a few things to keep in mind when working with setTimeout()
and setInterval()
. Let's review these now.
There is another way to use setTimeout()
: you can call it recursively to run the same code repeatedly, instead of using setInterval()
.
The below example uses a recursive setTimeout()
to run the passed function every 100
milliseconds:
Compare the above example to the following one — this uses setInterval()
to accomplish the same effect:
setTimeout()
and setInterval()
differ?The difference between the two versions of the above code is a subtle one.
setTimeout()
guarantees the same delay between the executions. (For example, 100
ms in the above case.) The code will run, then wait 100
milliseconds before it runs again—so the interval will be the same, regardless of how long the code takes to run.setInterval()
does things somewhat differently. The interval you chose includes the time taken to execute the code you want to run in. Let's say that the code takes 40
milliseconds to run — the interval then ends up being only 60
milliseconds.setTimeout()
recursively, each iteration can calculate a different delay before running the next iteration. In other words, the value of the second parameter can specify a different time in milliseconds to wait before running the code again.When your code has the potential to take longer to run than the time interval you've assigned, it's better to use
recursive setTimeout()
— this will keep the time interval constant between executions regardless of how
long the code takes to execute, and you won't get errors.
Using 0
as the value for setTimeout()
schedules the execution of the specified callback function as soon as possible but only after the main code thread has been run.
For instance, the code below (see it
live) outputs an alert containing "Hello"
, then an alert containing "World"
as soon as
you click OK on the first alert.
This can be useful in cases where you want to set a block of code to run as soon as all of the main thread has finished running — put it on the async event loop, so it will run straight afterwards.
clearTimeout()
and clearInterval()
both use the same list of entries to clear from. Interestingly enough, this means that you can use either method to clear a setTimeout()
or setInterval()
.
For consistency, you should use clearTimeout()
to clear setTimeout()
entries and clearInterval()
to clear setInterval()
entries. This will help to avoid confusion.
requestAnimationFrame()
is a
specialized looping function created for running animations efficiently in the browser. It is basically the modern
version of setInterval()
— it executes a specified block of code before the browser next repaints the
display, allowing an animation to be run at a suitable frame rate regardless of the environment it is being run in.
It was created in response to perceived problems with setInterval()
, which for example doesn't run at a frame rate optimized for the device, sometimes drops frames, continues to run even if the tab is not the active tab or the animation is scrolled off the page, etc.
(Read more about this on CreativeJS.)
Note: You can find examples of using requestAnimationFrame()
elsewhere in the course —
see for example Drawing
graphics, and Object
building practice.
The method takes as an argument a callback to be invoked before the repaint. This is the general pattern you'll see it used in:
pre data-role="codeBlock" data-info="js" class="language-javascript" class="brush: js notranslate">function draw() { // Drawing code goes here requestAnimationFrame(draw); } draw();The idea is to define a function in which your animation is updated (e.g. your sprites are moved, score is updated, data is refreshed, or whatever). Then, you call it to start the process off. At the end of the function block you call requestAnimationFrame()
with the function reference passed as the parameter, and this instructs the browser to call the function again on the next display repaint. This is then run continuously, as the code is calling requestAnimationFrame()
recursively.
 They are calculated directly by the browser's internal code, rather than JavaScript.
If, however, you are doing something more complex and involving objects that are not directly accessible inside the
DOM (such as 2D Canvas API or WebGL objects), requestAnimationFrame()
is the better option
in most cases.
The smoothness of your animation is directly dependent on your animation's frame rate and it is measured in frames per second (fps). The higher this number is, the smoother your animation will look, to a point.
Since most screens have a refresh rate of 60Hz, the fastest frame rate you can aim for is 60 frames per second (FPS) when working with web browsers. However, more frames means more processing, which can often cause stuttering and skipping — also known as dropping frames, or jank.
If you have a monitor with a 60Hz refresh rate and you want to achieve 60 FPS you have about 16.7 milliseconds (1000 / 60
) to execute your animation code to render each frame. This is a reminder that you'll need to be mindful of the amount of code that you try to run during each pass through the animation loop.
requestAnimationFrame()
always tries to get as close to this magic 60 FPS value as possible. Sometimes, it isn't possible — if you have a really complex animation and you are running it on a slow computer, your frame rate will be less. In all cases, requestAnimationFrame()
will always do the best it can with what it has available.
Let's talk a little bit more about how the requestAnimationFrame()
method differs from the other methods used earlier. Looking at our code from above:
Let's now see how to do the same thing using setInterval()
:
As we covered earlier, you don't specify a time interval for requestAnimationFrame()
. It just runs it as quickly and smoothly as possible in the current conditions. The browser also doesn't waste time running it if the animation is offscreen for some reason, etc.
setInterval()
, on the other hand requires an interval to be specified. We arrived at our final value of 17 via the formula 1000 milliseconds / 60Hz, and then rounded it up. Rounding up is a good idea; if you rounded down, the browser might try to run the animation faster than 60 FPS, and it wouldn't make any difference to the animation's smoothness, anyway. As we said before, 60Hz is the standard refresh rate.
The actual callback passed to the requestAnimationFrame()
function can be given a parameter, too: a timestamp value, that represents the time since the requestAnimationFrame()
started running.
This is useful as it allows you to run things at specific times and at a constant pace, regardless of how fast or slow your device might be. The general pattern you'd use looks something like this:
pre data-role="codeBlock" data-info="js" class="language-javascript" class="brush: js notranslate">let startTime = null; function draw(timestamp) { if (!startTime) { startTime = timestamp; } currentTime = timestamp - startTime; // Do something based on current time requestAnimationFrame(draw); } draw();requestAnimationFrame()
is supported in more recent browsers than setInterval()
/setTimeout()
. Interestingly, it is available in Internet Explorer 10 and above.
So, unless you need to support older versions of IE, there is little reason to not use requestAnimationFrame()
.
Enough with the theory! Let's build your own personal requestAnimationFrame()
example. You're going to create a simple "spinner animation"—the kind you might see displayed in an app when it is busy connecting to the server, etc.
Note: In a real world example, you should probably use CSS animations to run this kind of simple animation. However, this kind of example is very useful to demonstrate requestAnimationFrame()
usage, and you'd be more likely to use this kind of technique when doing something more complex such as updating the display of a game on each frame.
Grab a basic HTML template (such as this one).
Put an empty {{htmlelement("div")}} element inside the {{htmlelement("body")}}, then add a ↻ character inside it. This circular arrow character will act as our spinner for this example.
Apply the following CSS to the HTML template (in whatever way you prefer). This sets a red background on the page, sets the
height to 100%
of the {{htmlelement("html")}} height, and centers the

inside the
, horizontally and vertically.
Insert a {{htmlelement("script")}} element just above the closing
tag.
Insert the following JavaScript inside your


SURVEY FORM
About us
Name
Email
Tel
Phone Number (format: xxxxxxxxxx):
Hello World,we are software developers!


Ferrari drivers should feel sorry about mistakes, says team boss
Ferrari reminded Sebastian Vettel and Charles Leclerc of their responsibilities to the team after they put each other out of Sunday's Brazilian Grand Prix, the penultimate race of the Formula One season.
SAO PAULO: Ferrari reminded Sebastian Vettel and Charles Leclerc of their responsibilities to the team after they put each other out of Sunday's Brazilian Grand Prix, the penultimate race of the Formula One season.
The collision between the pair, one a young charger and the other a four times world champion, who have been battling for supremacy this season, provided a major talking point at Interlagos.
Ferrari team principal Mattia Binotto said he was disappointed.
"I feel sorry for the team, I think the drivers need to feel sorry for the team," he said.
With second place in the constructors' championship secure, Ferrari had told their drivers they were free to fight for their own positions, but with some stipulations.
"Free to fight, but they know that silly mistakes are something we should avoid for the team itself," said Binotto, who refrained from casting judgement before a thorough analysis back in Maranello.
"At the end I think both of them got a small percentage of responsibility," said the boss, who felt a podium had been missed.
"They know that silly mistakes are still silly mistakes. What happened today is a shame for the team."
Leclerc, on fresher tyres, passed Vettel for fourth place towards the end of the race but the German came back at him on the outside.
What looked like a light contact ended with both cars suffering race-ending damage, Leclerc's front right suspension breaking while Vettel suffered a rear puncture. Both retired with the safety car then deployed.
Damon Hill, the 1996 world champion who is now a pundit for Sky Sports television, said he would give both a talking to in Binotto's shoes.
"I think you have to sit them both down and say, 'Listen guys, you can't just behave like kids with the team like this. You have a responsibility, both of you, to the team'," said the Briton, who felt Vettel should take more of the blame.
Both drivers were summoned to stewards post-race, with no further action taken.
Leclerc, 22, said he had spoken to Binotto immediately after the race but not to Vettel.
"I'm pretty sure we are mature enough to put that behind us," he added of the incident. "At the end we both of us feel extremely sorry for the team."
(Writing by Alan Baldwin in London, editing by Ken Ferris)


Look at me. I am the Captain Now!
Described as the Michelangelo of backend
The skills of Micheal Jordan with the React-ion time of Usain Bolt
Wayne Brady aint got nothin on ME!
Super boring Marketing UI guy


AMD-ifying jQuery Source
Timmy Willison
/
@timmywil
What is AMD?
... WHAT IS AMD?
Asynchronous Module Definition
Workable javascript module system
Modules are super-cool
King of Modules
Why AMD?
Why AMD?
Browser specialty
jQuery mobile (UI coming up)
r.js
Changing the World
Old jQuery
Bunny-face carrot!
Problems
Not usable individually without building
Tracked dependencies manually
Limited builds
New jQuery
No more interdependency
Built file size not affected
Main modules still there, with AMD wrappers
The core of core is the only core
Clears the path for even further fragmentation
Real world modules
Examples time
Build?? I am excite!
AMD + Building
Reduce network requests
Reduce size
Flexible, pliable builds
Future Roadmap
jQuery Mobile and UI to list core dependencies
Further fragmentation
Grunt task for building jQuery
Questions?
@timmywil
timmywillison.com


Description
The Jini surrogate architecture allows other Programming language software and non jvm devices to participate in a djinn by uploading bytecode to a surrogate which provides a Jini service on behalf of the device or software.
The Jini Surrogate Architecture is currently a dormant project on java.net
The specifications and source code are provided.
The specification documents are pdf and contain the Apache 2.0 License Headers (on the last page).
I have inspected the *.java source files, each contains and Apache 2.0 License Header and Sun Microsystems Copyright.
No Authors names appear in the source files, only Sun Microsystems.
Keith Thompson is the project owner and worked for Sun Microsystems while the project was active.
Changes since the v2.2.0 release
- [RIVER-338] - Integrate The Jini Surrogate Architecture
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


XML Debugger Plugin Readme
Overview
The xml debugger plugin prints XML traffic to the stdout. The plugin will print raw XML as it
was received and sent by the server as well as interpreted XML (i.e. parsed XML). By default the
plugin will only print raw XML.
Installation
Copy xmldebugger.jar into the plugins directory of your Openfire installation. The
plugin will then be automatically deployed. To upgrade to a new version, copy the new
xmldebugger.jar file over the existing file.
Configuration
The debugger plugin is configured via Openfire system properties. These can
be configured under Server/Server Manager/System Properties:
- plugin.debugger.interpretedAllowed -- true to print XML packets
after they were parsed by the server. This only includes incoming traffic. The
default value is false.
Using the Plugin
Traffic generated by sessions created after the plugin was installed will be captured and
printed.