1. The sustainability principle
must be written into our constitution and translated into juridical practice
Presently there are several legal barriers to a sustainable development,
and a conversion to a sustainable judicial system is called for. This
is prerequisite in order to truly safeguard the citizens opportunity
to take part in the decision process, and to ensure comprehensive evaluations
and the realisation of environmental considerations in all sectors. A
major step towards conversion to a sustainable juridical practice is to
constitutionalize a sustainability principle, implying both a right and
an obligation to preserve our natural basis and a clean environment. This
would promote a general conversion of the judicial reasoning and principles
based on which rules are interpreted and discretion exercised.
Today the notion of sustainability does not form part of the Danish constitution,
which, more than anything, is coloured by individual civil rights, including
those protecting the sacredness of private property.
One way this is reflected in jurisprudence is that a plaintiff will normally
have to be personally and directly affected in order to obtain a legal
protection of the environment. A new paradigm in legal thinking is needed
in order to guarantee that individuals, citizens groups and environmentalist
NGOs can obtain a statutory protection of common resources, nature or
the interests of future generations.
Most modern constitutions have had sustainability added among their fundamental
values. For instance, in the 1990s, Norway and Finland had constitutional
provisions concerning sustainable development incorporated. In both countries
legal usage has thus helped promote a development characterised by the
understanding that private interest is not necessarily given the first
priority, when it comes to protection.
The Danish constitution should lay down both a material and a procedural
right concerning the protection of common resources. Citizens must have
a constitutional right to an environment that ensures their health, and
to a nature with its productive capacity and diversity preserved. The
constitution must also safeguard the rights of both individuals, citizens
groups and environmentalist NGOs to environmental information to
share in the decision processes prior to the passing of regulations and
rulings, to institute proceedings before administrative authorities, and
to bring an action before the courts of justice. At the same time our
constitution should lay down an obligation of both citizens and authorities
to take a long-term and comprehensive perspective in utilising natural
resources, in order to also guarantee such rights for future generations.
- We call upon the Danish government and parliament to initiate a constitutional
amendment in which a sustainability principle concerning the protection
of our natural basis is included among the fundamental values of the
Danish legal system, both as a material and procedural right, and as
an obligation for both citizens and public authorities.
2. A new economic law of gravity
must be introduced
Manpower must be made affordable, and use of scarce
natural resources and polluting productions and activities made costly
An ecological tax reform, to relieve tax on labour
and instead providing revenue from resource consumption, combined with
green taxes used solely to regulate behaviour, can change the economic
rules of the game to promote sustainable development.
Higher prices on resources and lower labour costs
will alter the composition of the labour market and the form of technology
invested on development. Thus we will be able to purchase more products
and services that require major inputs of human effort, such as research,
design, care, etc. Repairing will pay off, compared to discarding and
buying new things. Once manpower is made more affordable, we can afford
spending more time doing things properly. At the same time imports from
far away countries and long-distance commuting for work will be made more
expensive. That in turn will promote the use of local resources, and will
also speed up the use of electronic communication to substitute physical
transportation and travelling.
So long as transportation is unrealistically low-priced
better electronic communication would rather provide new incentives for
travelling, to see the people and places we have communicated with via
the Internet. Tax on transportation is therefore of paramount importance
in order to prevent that IT advances produce an ever more resource-intensive
lifestyle. Also the boom in world trade foreseen in the wake of the WTO
free trade agreements must be countered. If world trade is not based on
a roughly "realistic" pricing of raw materials and costs of
transport, then the WTO agreements will have detrimental effects and further
accelerate an entirely unbalanced economic development, in terms of the
environment.
- We call upon the Danish government and parliament
to proceed with a green fiscal policy that lets scarce natural resources
carry tax, while reducing tax levied on labour, and which lets polluting
productions and activities carry taxes, thus giving environmentally
friendly alternatives more competitive edge.
Introduce consumption-based payment combined with
"non-consumption rewards"
Behavioural adjustment via green taxes and economic
incentives can be put together using more or less efficient and equitable
means. For a number of fields direct consumption-based payments should
be introduced, and thus a reward on "non-consumption" and environmentally
correct behaviour.
The applied principle should be double edged, meaning
that "resource-consumers" and "environment-stressers"
will pay, whilst "non-consumers" are rewarded economically.
For instance the cost of private motoring should be redistributed, so
weight-related tax on motor vehicles (possibly insurance premiums, too)
is made cheaper, the less you drive perhaps combined with a pro
rata tax levied per kilometre travelled.
- We call upon the Danish government and parliament
to introduce the principle of "consumption-based payment",
combined with a "non-consumption reward" in the area of environment
and resources.
Sustainability investments to be promoted
Promoting investment in sustainable technology and projects based on
sustainability principles is of major importance. Such projects typically
cover a long time horizon, or otherwise fall short of the demands on optimisation
of economic returns. The pension funds have ample investment resources
at their disposal, bonded for a number of years. Our society supports
superannuation schemes via tax allowances, and would thus reasonably be
entitled to make demands on the investment of such funds.
- We call upon the Danish government and parliament
to demand that pension funds and other institutional investors invest
in sustainable development. In this a major step is to ensure that such
investors can also invest in SMEs and long-term projects without coming
up against legal and formal requirements regarding maximal return in
the short term.
3. Cleaner technologies must
be advanced
Less resource consumption and waste generation
Based on a calculation of the ecological-environmental
scope of action, it is certain that the affluent western societies will
have to cut raw material consumption and pollution emissions by 90 per
cent, a so-called factor 10.
A Nordic Ministers Council study on factor 4 and factor
10 concluded that given the known technologies it is now possible to reduce
resource consumption by a factor 4 by the year 2030 and a factor 10 by
the year 2050. It is also seen from the conclusions that this cannot be
achieved without radical changes of values, both individually and in society
as such, and law amendments. Researchers and environmentalist NGOs have
presented similar conclusions elsewhere in Europe.
A factor 10 reduction would require technical and
material initiatives in the following areas:
- Development and use of more durable products (longer
product life)
- Development and use of de-materialised products
(i.e. products providing the same service or performance with min. 10
times less raw material input)
- Increased reuse and recycling, also in the form
of industrial symbioses (in which waste from one industry is used as
input to another)
- An overall stagnation or an outright fall in consumption
(services and products per capita)
- We expect our government and parliament to live
up to the 1995 parliamentary decision that future environmental
plans of action will be based on the notion of ecological scope
of action. For the preparation of a national action plan for sustainable
development we call upon our government and parliament, to take their
point of departure in the notion of the ecological scope of action and
the level of ambition derived hereof: to reduce societys aggregate
raw material consumption and waste generation by a factor 10 within
the year 2050.
As for CO2
the Danish government has voted to reduce emissions by 20 per cent compared
to 1988 within the year 2005. The 1996 Energy Plan, "Energy 21",
has targeted a 50 per cent reduction of CO2 emissions by the
year 2030 compared to 1990.
However, if Denmark is to fulfil her share of a global
commitment to stabilise global warming (and reduce it on the long term),
then a reduction in the magnitude of 50 per cent will be needed already
in 2010, relative to 1990! Considerable reductions in CO2 are
feasible both in practical and technological terms without
necessarily causing a decline in welfare. According to the Danish Ministry
for Environment and Energy we could halve the total national power consumption
by consistently replacing electrical equipment by the most energy efficient
available.
- We call upon the Danish government and parliament
to promote the exploitation of considerable potential energy savings
in all sectors and encourage conversion to renewable energy in order,
as a minimum, to achieve the Danish governments CO2-goals
for 2005 and its target for a 50 per cent reduction of CO2
emissions. One instrument to be used is raising the price of energy,
to let it far better reflect its society-related cost.
Phase-out of hazardous substances
At present some 20,000 hazardous substances are in
use in Denmark only part of which has been examined in terms of their
health or environmental impacts. Among these substances the Danish environmental
agency has listed about 1,400 that cause concern because of their health
and environmental impacts. These substances are still in use in Denmark,
and are carcinogenous, repro- and genotoxic, allergenic, endanger the
environment or are extremely toxic otherwise.
- We, the citizens, cannot accept that considerations
for specific economic interests are given higher priority than concerns
for the well-being and health of ourselves and our offspring, and we
call upon our government and parliament to ban the use of hazardous
substances without awaiting the foot-dragging international efforts
in the field.
Research and development
A conversion to sustainable social structures and
patterns of behaviour should be underpinned by new clean technologies
to reduce material and energy consumption, material waste, use of harmful
substances etc.
- We call upon our government and parliament to
adopt R&D policies giving priority to the development of cleaner
technologies. These fields also hold considerable promise for Denmark
in terms of export and employment.
A few potential focus areas:
- Environmental perspectives of IT and digitalisation
- Fuel cells
- Bio-materials to replace plastics
- Robotic/sensor technology for waste separation
- Ecological crop and husbandry management systems
- Substitution of substances injurious to the environment
- Eco-construction and urban ecology
4. A sustainable working life
must be prioritised
A sustainable working life implies that everyone can
work for full lifetime without falling ill and being worn out by work.
This means that a healthy working environment both physically and
mentally must be created at all workplaces. Industrial injuries
must be prevented, and marginalization from the labour market be stopped.
This would benefit both the individual and society as such.
The development of a sustainable working life also
needs a starting point in comprehensive thinking. That implies that industrial
health issues will also have to be related to organisational and technological
development, and that the interplay between working and private life resp.
must also be made a focus of attention.
- We call upon our government and parliament to
incorporate a preventative work environment effort into any political
initiative concerning the labour market. Apart from labour market policy
this goes in particular for environmental, social, health, commerce
and education policies.
Company staff must participate actively in corporate
environmental efforts, and their professional insight and experience must
be made useful in endeavours towards achieving environmental improvements.
This implies that co-workers need to be trained in preventative environmental
functions in order to acquire the skills needed for appropriate action.
Developing environmental competence will require a focus on learning processes,
and on in-company knowledge and competence.
- We call upon our government and parliament to
introduce instruments suited to support the creation of comprehensive
environmental competences in all companies, with the co-workers as agents
of change.
5. Better living conditions must
be ensured for plant- and wildlife
Many years of retrogression for plant- and wildlife
in Denmark must be averted, and more leeway should be given to the dynamics
of nature. Natures stability and ability to regain balance must
be strengthened, and nature must be brought in closer to the every Dane
of today and tomorrow.
We therefore call upon our government and parliament
to
- make a concerted effort in order to secure habitats
in larger continuous natural areas and integrated into the agricultural
landscape
- allocate funds for increased rehabilitation
of nature
- launch initiatives to promote green and unkempt
"oases" for both people, plant- and wildlife in urban zones,
including less management and "aesthetization" of public areas,
combined with the phase-out of pesticide use on such areas
- adjust regulation on access to nature under
the Nature Protection Act, with a view to improving public access e.g.
to the open countryside. This should be done based on a carefully reasoned
balance between considerations of accessibility against regards for
vulnerable areas of nature and sensitive crop production.
- investigate the potentials of "multiple
land use", both as an administrative principle and as an agricultural
management principle
- draw up concrete national objectives regarding
nature and the environment, to form part of a "sustainability budget"
- advance demands to local councils and county
authorities on local nature and environment objectives
Outside the urban zones Denmark consists mainly of
agro-landscapes, and therefore it is of paramount importance for plant-
and wildlife that farming practices integrate considerations of nature.
We call upon our government and parliament to
- make demands on the phase-out of pesticide use
in agriculture
- launch initiatives to promote extensive practices
in agriculture and forestry, also by linking agricultural support systems
up with nature and environmental demands, and by increasing subsidies
for conversion to ecological and quasi-natural management systems.
At the same time citizens must be given more influence
on nature polices, and be made co-players in the management of nature
and environment. Which forms of nature we want in this country, and where,
must be decided in an interplay between citizens, landowners, local authorities
and the national political and administrative authorities.
- We call upon our government and parliament to
let nature management be a trial ground for participation and new decision
fora within the limits set by the protection of our natural basis.
6. The public sector must take
the lead as a green consumer and a green enterprise
The public sector has an obligation to take a lead
and demonstrate that its actions honour the very demands imposed on enterprises
and citizens. A consistently environment-minded purchase of commodities
and services, and a consistent environmentally friendly running of institutions,
buildings and spaces would generate considerable improvements in terms
of environment.
On an annual basis the Danish state, counties and
local councils purchase and consume commodities and services at about
100 billion DKK (~ 13.5 billion EUR). By making consistent environmental
demands on commodities and services, and hence on manufacturers and suppliers,
the public sector could help to speed up the environmental certification
of Danish companies. At present merely about 650 out of this countrys
approx. 300.000 enterprises hold an environmental certificate. Moreover
this would help to increase the number of eco-labelled products available
on the market.
- We call upon the Danish government and parliament
to speed up the transition to a consistent green procurement policy
in the public sector, and to make demands on the public sector concerning
a consistent environmentally friendly running of its own institutions,
buildings and spaces, e.g. via environmental management.
Progressive companies do not only acknowledge their
pecuniary liability vis-à-vis their shareholders. They also recognize
a more far-reaching environmental and social responsibility. Their balance
sheets are characterized by a "triple bottom-line".
- We call upon the Danish government and parliament
to support the use of "the triple bottom line" by introducing
environmental and social provisions further to public calls for tender.
Altogether these initiatives would imply that any
company undertaking to voluntarily take a lead for a better environment
and a more accommodating labour market would reap a well-earned competitive
advantage.
7. More power to local communities
Over the last decades rural districts have found themselves
in a vicious circle, with declining employment and earning potential,
combined with a deteriorating tax base and public service. Local shops
have by and large disappeared, leaving a shrinking local population, who
often have to commute long-distance to work in or near major cities. Today
the rural population use their cars mainly to move between the different
"satellites" of their everyday lives (work, childcare facilities,
schools, shopping, etc.), and the money spent on individual transport
in private cars does not reflect the cost for society as such.
We wish that sustainable local communities be developed
also in rural districts, with employment opportunities and functional
service facilities. Incentives should be created in order to attract new
green enterprises and institutions, including jobs for the highly educated
and well-paid population segment.
- We call upon the Danish government and parliament
to launch studies on how to create a business and housing structure
in rural districts that will also contribute to reducing individual
transport by private cars.
Moreover there is a need for a renewed evaluation
of which activities and functions to allow in the rural zones of the rural
districts. Objectives concerning more access to nature, multiple land
use and opportunities for experiments in ecological living meet with obstacles,
more specifically due to The Nature Protection Act and the zoning provisions
of The Planning Act, as enacted by the county authorities.
- We call upon the Danish government and parliament
to launch a comprehensive investigation with a view to amending laws
and their administration pertinent to this area, including an evaluation
of benefits and disadvantages from a sustainability perspective. Basically
the zoning provisions of the planning act should not obstruct a sustainable
development in rural districts.
However care should be taken that a more lenient practice
with small-scale ecological projects does not carry relaxations when it
comes to locating major settlements and industries in rural zones.
8. Room must be made for public
participation in and discourse on sustainable development
Sustainable development is very much a matter of transforming
fundamental attitudes and patterns of behaviour. As we know such a transformation
cannot be brought about by prescription, but only by a dialogue on and
testing of new patterns. So there is a need to create a wider space, in
which a dialogue on and experiments in sustainable solutions can take
place.
We call upon the Danish government and parliament
to
- institute an ecological ombudsman authority,
invested with powers of discretion concerning rules pertaining to ecologically
and socially reasonable projects, from a sustainability perspective.
- introduce experimental zones, in which citizens
are able to experiment with new sustainable solutions, with more latitude
for exemptions from laws etc.
- provide incentives in order to increase the
percentage of Agenda 21 active local councils from currently 70 per
cent to 100 per cent by UNs Rio+10 session in 2002.
Calls for a comprehensive understanding and a broad
inclusion of different stakeholders are not supported by traditional Danish
administration culture, and evidently the authorities are hesitant as
to how they are to cope with such challenges.
- In order to provide a wider base of experience
we call upon the Danish government and parliament to launch studies
and experiments in "sector integration" and new democratic
forms of dialogue and co-operation involving different types of stakeholders.
In recent years The Green Guides, The Green Fund and
The Green Job Pool have been major driving forces in local sustainability
initiatives.
- We call upon the Danish government and parliament
to continue and strengthen The Green Secretariat (The Green Fund and
The Green Job Pool) and The Green Guides.
Learning sustainability principles and practice must
be made an integral part of all forms of education and creation of skills,
especially in the upbringing and education of children and young people.
- We call upon the Danish government and parliament
to include "Principles and practice of sustainability" as
a curricular topic in mainstream education.
9. Denmark must lead the way
in efforts towards global solidarity
Over the 20th century we gradually became used to
showing our solidarity with the least prosperous amongst us via the fiscal
system.
In the 21st century the vision is for our solidarity
to be extended to the worldwide population.
That will require a fundamental rethinking of the
rich nations development aid, plagued as it is with numerous shortcomings
and lack of efficiency. Aid must be internationalized more than previously
(multilateral aid) and be funded via direct international sources of revenue,
e.g. a tax on speculative foreign exchange transactions. Concurrently
aid must be converted from the existing "alms principle" into
statutory revenue sharing and equalization grants similar to the
system used between wealthy and poor local counties in this country, and
the beginnings of which are also emerging in the EU, via the Cohesion
Funds. Finally provisions should be made for grant aid to be made conditional
on democratic government and sustainable development in the recipient
country, and they must be subject to independent international auditing
and evaluation in order to prevent fraud and guarantee efficient use of
equalization grants.
- We call upon the Danish government and parliament
to work for a conversion of aid to developing countries according to
the above criteria, in the EU, UN and other relevant fora.
However redistribution by development aid will not
suffice. Such aid must be complemented with new principles concerning
solidarity; more than anything "fair trade" that lets poor countries
access our markets without tariff barriers.
Moreover knowledge transfer through education, training
and aid for restructuring will enable farmers, fishermen and other occupations
in the third world to earn a better living, thus enabling sustainable
farming and use of natural resources.
- We call upon the Danish government and parliament
to include such principles on global solidarity in our national sustainable
development plan, and to work for their mediation among western industrialized
countries.
10. An integrated set of sustainability
indicators must be developed
Up until now any evaluation of whether social development
trends are the manifestations of progress or retrogression has relied
closely on recorded economic indices, especially the gross national product
(GDP). As an index of economic activity for a given period, basically
computed in market prices, GDP is neither designed for nor suitable for
saying anything definite about sustainability. Moreover GDP as a developmental
target is based on a competitive concept, thus prompting international
comparisons with particular focus on material growth and cultural uniformity.
Making for sustainable development calls for developing
new and more comprehensive tools. So if we need a comprehensive picture
of development we have to abandon the notion of a single development index
and exchange it for a set of sustainability indicators. Such a tool will
consist of several quantitative and qualitative indicators, each of which
will gauge the condition, state of stress, or effort within a key area
essential to sustainable development. In unison such an indicator system
will integrate all aspects of a sustainable development and demonstrate
the interdependence between sectors. It must be able to say something
about where our development is heading on the short and the long term.
Sustainability indicators must be used both as a tool
for prioritization when preparing strategies and as a follow-up tool.
Indicators must be selected to reflect areas of concern and objectives
once they have been placed on the agenda as being essential to a sustainable
development. Furthermore such indicators must undergo current evaluation
and development, as problems and focus areas change.
- We recommend that the Danish government and
parliament prepare a comprehensive system of sustainability indicators
comprising, as a minimum, the following general categories of indicators:
- Indicators of the physical volume of production/consumption
and nature impoundment: quantitative and qualitative indicators of material
consumption, energy consumption and land use
- Economy and technology indicators: indicators
of preventive environmental intervention, including indicators of green
investments, indicators of R&D in and development/use of green technologies
- Social indicators: objective and subjective
welfare indicators, including health and quality-of-life indicators,
democracy indicators and education indicators
- Environment indicators: environmental impact
indicators, including indicators of CO2
emissions, pesticide use, hazardous substances
use, and waste generation. Environmental status indicators, including
quantitative and qualitative indicators of air, water and soil condition
- Nature indicators: status indicators of plant-
and wildlife, living conditions and biodiversity; indicators of ecosystem
stability and regenerative capacity.
- It is considered prerequisite for the indicator
mechanism to be linked up with targets and action plans via a "sustainability
budget", or with targets on what such indicators should show on
the medium and long term, e.g. in 5, 10 and 20 years respectively.
The selection of indicators for the said five general
categories will depend on the values and goals to be promoted by the social
development. Thus the selection of indicators cannot be made the subject
of purely factual decision.
- We therefore call upon the Danish government
and parliament to make the selection of sustainability indicators a
key issue of the general societal dialogue upon which a National Agenda
21 has to rest, and a vehicle for actively involving citizens in defining
and leaving their mark on a sustainable development.
|


- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
- item
Some quotes,
he said,
are better than none.
Notice where the orange box is.
"Floated Before" should be generated on the left of the
viewport and not allow overflow in this line to flow under it. Likewise
should "Floated After" appear on the right of the viewport and not allow this
line to flow under it.
attribute
image


--- layout: default --- {% include banner.html title='2020 Festival' subtitle='in retrospective' color='red' %}


@_JamesWard and @mraible
Theme: Sky - Beige - Simple - Serif - Night - Default
Play 2 and Grails 2 are often hyped as the most productive JVM Web Frameworks.
* We wanted to know how they enhanced the Developer Experience (DX).
Stretch Goals: Search, Photo Upload to S3
Play Framework is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.
Powered by Spring, Grails outperforms the competition. Dynamic, agile web development without compromises.
Powered by Spring, Grails outperforms the competition. Dynamic, agile web development without compromises.
Later added: QA Person and BrowserMob
We developed the same app, in similar ways, so let's look at the different layers.
grails-app/conf/DataSource.groovy
conf/evolutions/default/2.sql
Using Heroku Postgres in production rocks!
grails-app/conf/UrlMappings.groovy
conf/routes
grails-app/domain/happytrails/Region.groovy
app/models/Direction.java
grails-app/controllers/happytrails/HomeController.groovy
app/controllers/RouteController.java
grails-app/views/region/show.gsp
app/views/region.scala.html
grails-app/controllers/happytrails/RouteController.groovy
grails-app/views/route/create.gsp
app/controllers/RouteController.java
app/views/signupForm.scala.html
IntelliJ Rocks!
grails-app/jobs/happytrails/DailyRegionDigestEmailJob.groovy
app/jobs/DailyRegionDigestEmailJob.java
grails-app/controllers/happytrails/RegionController.groovy
app/jobs/DailyRegionDigestEmailJob.java
grails-app/jobs/happytrails/DailyRegionDigestEmailJob.groovy
* powered by the mail plugin (built-in)
app/jobs/DailyRegionDigestEmailJob.java
conf/prod.conf
app/models/S3Photo.java
app/controllers/RegionController.java
test/unit/happytrails/RouteTests.groovy
* Grails plugins often aren't in test scope.
test/ApplicationControllerTest.java
grails-app/conf/BootStrap.groovy
app/Global.java
grails-app/conf/Config.groovy
conf/prod.conf
Spring Security UI Plugin, I love you!
grails-app/conf/Config.groovy
app/controllers/Secured.java
app/controllers/RegionController.java
Bike (Grails)
Hike (Play)
Bike (Grails)
Hike (Play)
* Presentation created with Reveal.js, Google Charts and GitHub Files.
Learn something new*!
* Or prove that we're wrong...


Support for QSettings
¶
Qt provies the QSettings
class as a platform
independent API for the persistent storage and retrieval of application
settings. Settings are retrieved using the
value()
method. However the type of the value
returned may not be what is expected. Some platforms only ever store string
values which means that the type of the original value is lost. Therefore a
setting with an integer value of 42
may be retrieved (on some platforms) as
a string value of '42'
.
As a solution to this problem PyQt5’s implementation of
value()
takes an optional third argument called
type
. This is either a Python type object, e.g. int
, or a string that
is the name of a C++ type, e.g. 'QStringList'
. The value returned will be
an object of the requested type.
For example:
from PyQt5.QtCore import QSettings, QPoint
settings = QSettings('foo', 'foo')
settings.setValue('int_value', 42)
settings.setValue('point_value', QPoint(10, 12))
# This will write the setting to the platform specific storage.
del settings
settings = QSettings('foo', 'foo')
int_value = settings.value('int_value', type=int)
print("int_value: %s" % repr(int_value))
point_value = settings.value('point_value', type=QPoint)
print("point_value: %s" % repr(point_value))
When this is executed then the following will be displayed for all platforms:
int_value: 42
point_value: PyQt5.QtCore.QPoint(10, 20)
If the value of the setting is a container (corresponding to either
QVariantList
, QVariantMap
or QVariantHash
) then the type is applied
to the contents of the container.
For example:
from PyQt5.QtCore import QSettings
settings = QSettings('foo', 'foo')
settings.setValue('list_value', [1, 2, 3])
settings.setValue('dict_value', {'one': 1, 'two': 2})
# This will write the setting to the platform specific storage.
del settings
settings = QSettings('foo', 'foo')
list_value = settings.value('list_value', type=int)
print("list_value: %s" % repr(list_value))
dict_value = settings.value('dict_value', type=int)
print("dict_value: %s" % repr(dict_value))
When this is executed then the following will be displayed for all platforms:
list_value: [1, 2, 3]
dict_value: {'one': 1, 'two': 2}


|
M480 BSP V3.05.005
The Board Support Package for M480 Series
|
#include <i2s_reg.h>
Data Fields | |
| __IO uint32_t | CTL0 |
| __IO uint32_t | CLKDIV |
| __IO uint32_t | IEN |
| __IO uint32_t | STATUS0 |
| __O uint32_t | TXFIFO |
| __I uint32_t | RXFIFO |
| __IO uint32_t | CTL1 |
| __IO uint32_t | STATUS1 |
@addtogroup I2S I2S Interface Controller(I2S) Memory Mapped Structure for I2S Controller
| I2S_T::CLKDIV |
[0x0004] I2S Clock Divider Register
| Bits | Field | Descriptions |
| [5:0] | MCLKDIV | Master Clock Divider
If chip external crystal frequency is (2xMCLKDIV)*256fs then software can program these bits to generate 256fs clock frequency to audio codec chip If MCLKDIV is set to 0, MCLK is the same as external clock input. For example, sampling rate is 24 kHz and chip external crystal clock is 12.288 MHz, set MCLKDIV = 1. F_MCLK = F_I2SCLK/(2x(MCLKDIV)) (When MCLKDIV is >= 1 ). F_MCLK = F_I2SCLK (When MCLKDIV is set to 0 ). Note: F_MCLK is the frequency of MCLK, and F_I2SCLK is the frequency of the I2S_CLK |
| [16:8] | BCLKDIV | Bit Clock Divider
The I2S controller will generate bit clock in Master mode Software can program these bit fields to generate sampling rate clock frequency. F_BCLK= F_I2SCLK / (2*(BCLKDIV + 1)). Note: F_BCLK is the frequency of BCLK and F_I2SCLK is the frequency of I2S_CLK |
| I2S_T::CTL0 |
[0x0000] I2S Control Register 0
| Bits | Field | Descriptions |
| [0] | I2SEN | I2S Controller Enable Control
0 = I2S controller Disabled. 1 = I2S controller Enabled. |
| [1] | TXEN | Transmit Enable Control
0 = Data transmission Disabled. 1 = Data transmission Enabled. |
| [2] | RXEN | Receive Enable Control
0 = Data receiving Disabled. 1 = Data receiving Enabled. |
| [3] | MUTE | Transmit Mute Enable Control
0 = Transmit data is shifted from buffer. 1 = Send zero on transmit channel. |
| [5:4] | DATWIDTH | Data Width
This bit field is used to define the bit-width of data word in each audio channel 00 = The bit-width of data word is 8-bit. 01 = The bit-width of data word is 16-bit. 10 = The bit-width of data word is 24-bit. 11 = The bit-width of data word is 32-bit. |
| [6] | MONO | Monaural Data Control
0 = Data is stereo format. 1 = Data is monaural format. Note: when chip records data, RXLCH (I2S_CTL0[23]) indicates which channel data will be saved if monaural format is selected. |
| [7] | ORDER | Stereo Data Order in FIFO
In 8-bit/16-bit data width, this bit is used to select whether the even or odd channel data is stored in higher byte In 24-bit data width, this is used to select the left/right alignment method of audio data which is stored in data memory consisted of 32-bit FIFO entries. 0 = Even channel data at high byte in 8-bit/16-bit data width. LSB of 24-bit audio data in each channel is aligned to right side in 32-bit FIFO entries. 1 = Even channel data at low byte. MSB of 24-bit audio data in each channel is aligned to left side in 32-bit FIFO entries. |
| [8] | SLAVE | Slave Mode Enable Control
0 = Master mode. 1 = Slave mode. Note: I2S can operate as master or slave For Master mode, I2S_BCLK and I2S_LRCLK pins are output mode and send out bit clock to Audio CODEC chip In Slave mode, I2S_BCLK and I2S_LRCLK pins are input mode and I2S_BCLK and I2S_LRCLK signals are received from outer Audio CODEC chip. |
| [15] | MCLKEN | Master Clock Enable Control
If MCLKEN is set to 1, I2S controller will generate master clock on I2S_MCLK pin for external audio devices. 0 = Master clock Disabled. 1 = Master clock Enabled. |
| [18] | TXFBCLR | Transmit FIFO Buffer Clear
0 = No Effect. 1 = Clear TX FIFO. Note1: Write 1 to clear transmit FIFO, internal pointer is reset to FIFO start point, and TXCNT (I2S_STATUS1[12:8]) returns 0 and transmit FIFO becomes empty but data in transmit FIFO is not changed. Note2: This bit is clear by hardware automatically, read it return zero. |
| [19] | RXFBCLR | Receive FIFO Buffer Clear
0 = No Effect. 1 = Clear RX FIFO. Note1: Write 1 to clear receive FIFO, internal pointer is reset to FIFO start point, and RXCNT (I2S_STATUS1[20:16]) returns 0 and receive FIFO becomes empty. Note2: This bit is cleared by hardware automatically, read it return zero. |
| [20] | TXPDMAEN | Transmit PDMA Enable Control
0 = Transmit PDMA function Disabled. 1 = Transmit PDMA function Enabled. |
| [21] | RXPDMAEN | Receive PDMA Enable Control
0 = Receiver PDMA function Disabled. 1 = Receiver PDMA function Enabled. |
| [23] | RXLCH | Receive Left Channel Enable Control
When monaural format is selected (MONO = 1), I2S will receive channel1 data if RXLCH is set to 0, and receive channel0 data if RXLCH is set to 1. 0 = Receives channel1 data in MONO mode. 1 = Receives channel0 data in MONO mode. |
| [26:24] | FORMAT | Data Format Selection
000 = I2S standard data format. 001 = I2S with MSB justified. 010 = I2S with LSB justified. 011 = Reserved. 100 = PCM standard data format. 101 = PCM with MSB justified. 110 = PCM with LSB justified. 111 = Reserved. |
| [27] | PCMSYNC | PCM Synchronization Pulse Length Selection
This bit field is used to select the high pulse length of frame synchronization signal in PCM protocol 0 = One BCLK period. 1 = One channel period. Note: This bit is only available in master mode |
| [29:28] | CHWIDTH | Channel Width
This bit fields are used to define the length of audio channel If CHWIDTH < DATWIDTH, the hardware will set the real channel length as the bit-width of audio data which is defined by DATWIDTH. 00 = The bit-width of each audio channel is 8-bit. 01 = The bit-width of each audio channel is 16-bit. 10 = The bit-width of each audio channel is 24-bit. 11 = The bit-width of each audio channel is 32-bit. |
| [31:30] | TDMCHNUM | TDM Channel Number
This bit fields are used to define the TDM channel number in one audio frame while PCM mode (FORMAT[2] = 1). 00 = 2 channels in audio frame. 01 = 4 channels in audio frame. 10 = 6 channels in audio frame. 11 = 8 channels in audio frame. |
| I2S_T::CTL1 |
[0x0020] I2S Control Register 1
| Bits | Field | Descriptions |
| [0] | CH0ZCEN | Channel0 Zero-cross Detection Enable Control
0 = channel0 zero-cross detect Disabled. 1 = channel0 zero-cross detect Enabled. Note1: Channel0 also means left audio channel while I2S (FORMAT[2]=0) or 2-channel PCM mode. Note2: If this bit is set to 1, when channel0 data sign bit change or next shift data bits are all zero then CH0ZCIF(I2S_STATUS1[0]) flag is set to 1. Note3: If CH0ZCIF Flag is set to 1, the channel0 will be mute. |
| [1] | CH1ZCEN | Channel1 Zero-cross Detect Enable Control
0 = channel1 zero-cross detect Disabled. 1 = channel1 zero-cross detect Enabled. Note1: Channel1 also means right audio channel while I2S (FORMAT[2]=0) or 2-channel PCM mode. Note2: If this bit is set to 1, when channel1 data sign bit change or next shift data bits are all zero then CH1ZCIF(I2S_STATUS1[1]) flag is set to 1. Note3: If CH1ZCIF Flag is set to 1, the channel1 will be mute. |
| [2] | CH2ZCEN | Channel2 Zero-cross Detect Enable Control
0 = channel2 zero-cross detect Disabled. 1 = channel2 zero-cross detect Enabled. Note1: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. Note2: If this bit is set to 1, when channel2 data sign bit change or next shift data bits are all zero then CH2ZCIF(I2S_STATUS1[2]) flag is set to 1. Note3: If CH2ZCIF Flag is set to 1, the channel2 will be mute. |
| [3] | CH3ZCEN | Channel3 Zero-cross Detect Enable Control
0 = channel3 zero-cross detect Disabled. 1 = channel3 zero-cross detect Enabled. Note1: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. Note2: If this bit is set to 1, when channel3 data sign bit change or next shift data bits are all zero then CH3ZCIF(I2S_STATUS1[3]) flag is set to 1. Note3: If CH3ZCIF Flag is set to 1, the channel3 will be mute. |
| [4] | CH4ZCEN | Channel4 Zero-cross Detect Enable Control
0 = channel4 zero-cross detect Disabled. 1 = channel4 zero-cross detect Enabled. Note1: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. Note2: If this bit is set to 1, when channel4 data sign bit change or next shift data bits are all zero then CH4ZCIF(I2S_STATUS1[4]) flag is set to 1. Note3: If CH4ZCIF Flag is set to 1, the channel4 will be mute. |
| [5] | CH5ZCEN | Channel5 Zero-cross Detect Enable Control
0 = channel5 zero-cross detect Disabled. 1 = channel5 zero-cross detect Enabled. Note1: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. Note2: If this bit is set to 1, when channel5 data sign bit change or next shift data bits are all zero then CH5ZCIF(I2S_STATUS1[5]) flag is set to 1. Note3: If CH5ZCIF Flag is set to 1, the channel5 will be mute. |
| [6] | CH6ZCEN | Channel6 Zero-cross Detect Enable Control
0 = channel6 zero-cross detect Disabled. 1 = channel6 zero-cross detect Enabled. Note1: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. Note2: If this bit is set to 1, when channel6 data sign bit change or next shift data bits are all zero then CH6ZCIF(I2S_STATUS1[6]) flag is set to 1. Note3: If CH6ZCIF Flag is set to 1, the channel6 will be mute. |
| [7] | CH7ZCEN | Channel7 Zero-cross Detect Enable Control
0 = channel7 zero-cross detect Disabled. 1 = channel7 zero-cross detect Enabled. Note1: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. Note2: If this bit is set to 1, when channel7 data sign bit change or next shift data bits are all zero then CH7ZCIF (I2S_STATUS1[7]) flag is set to 1. Note3: If CH7ZCIF Flag is set to 1, the channel7 will be mute. |
| [11:8] | TXTH | Transmit FIFO Threshold Level
0000 = 0 data word in transmit FIFO. 0001 = 1 data word in transmit FIFO. 0010 = 2 data words in transmit FIFO. ... 1110 = 14 data words in transmit FIFO. 1111 = 15 data words in transmit FIFO. Note: If remain data word number in transmit FIFO is the same or less than threshold level then TXTHIF (I2S_STATUS0[18]) flag is set. |
| [19:16] | RXTH | Receive FIFO Threshold Level
0000 = 1 data word in receive FIFO. 0001 = 2 data words in receive FIFO. 0010 = 3 data words in receive FIFO. ... 1110 = 15 data words in receive FIFO. 1111 = 16 data words in receive FIFO. Note: When received data word number in receive buffer is greater than threshold level then RXTHIF (I2S_STATUS0[10]) flag is set. |
| [24] | PBWIDTH | Peripheral Bus Data Width Selection
This bit is used to choice the available data width of APB bus It must be set to 1 while PDMA function is enable and it is set to 16-bit transmission mode 0 = 32 bits data width. 1 = 16 bits data width. Note1: If PBWIDTH=1, the low 16 bits of 32-bit data bus are available. Note2: If PBWIDTH=1, the transmitting FIFO level will be increased after two FIFO write operations. Note3: If PBWIDTH=1, the receiving FIFO level will be decreased after two FIFO read operations. |
| [25] | PB16ORD | FIFO Read/Write Order in 16-bit Width of Peripheral Bus
When PBWIDTH = 1, the data FIFO will be increased or decreased by two peripheral bus access This bit is used to select the order of FIFO access operations to meet the 32-bit transmitting/receiving FIFO entries. 0 = Low 16-bit read/write access first. 1 = High 16-bit read/write access first. Note: This bit is available while PBWIDTH = 1. |
| I2S_T::IEN |
[0x0008] I2S Interrupt Enable Register
| Bits | Field | Descriptions |
| [0] | RXUDFIEN | Receive FIFO Underflow Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note: If software reads receive FIFO when it is empty then RXUDIF (I2S_STATUS0[8]) flag is set to 1. |
| [1] | RXOVFIEN | Receive FIFO Overflow Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note: Interrupt occurs if this bit is set to 1 and RXOVIF (I2S_STATUS0[9]) flag is set to 1 |
| [2] | RXTHIEN | Receive FIFO Threshold Level Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note: When data word in receive FIFO is equal or higher than RXTH (I2S_CTL1[19:16]) and the RXTHIF (I2S_STATUS0[10]) bit is set to 1 If RXTHIEN bit is enabled, interrupt occur. |
| [8] | TXUDFIEN | Transmit FIFO Underflow Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note: Interrupt occur if this bit is set to 1 and TXUDIF (I2S_STATUS0[16]) flag is set to 1. |
| [9] | TXOVFIEN | Transmit FIFO Overflow Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note: Interrupt occurs if this bit is set to 1 and TXOVIF (I2S_STATUS0[17]) flag is set to 1 |
| [10] | TXTHIEN | Transmit FIFO Threshold Level Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note: Interrupt occurs if this bit is set to 1 and data words in transmit FIFO is less than TXTH (I2S_CTL1[11:8]). |
| [16] | CH0ZCIEN | Channel0 Zero-cross Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note1: Interrupt occurs if this bit is set to 1 and channel0 zero-cross Note2: Channel0 also means left audio channel while I2S (FORMAT[2]=0) or 2-channel PCM mode. |
| [17] | CH1ZCIEN | Channel1 Zero-cross Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note1: Interrupt occurs if this bit is set to 1 and channel1 zero-cross Note2: Channel1 also means right audio channel while I2S (FORMAT[2]=0) or 2-channel PCM mode. |
| [18] | CH2ZCIEN | Channel2 Zero-cross Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note1: Interrupt occurs if this bit is set to 1 and channel2 zero-cross Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [19] | CH3ZCIEN | Channel3 Zero-cross Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note1: Interrupt occurs if this bit is set to 1 and channel3 zero-cross Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [20] | CH4ZCIEN | Channel4 Zero-cross Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note1: Interrupt occurs if this bit is set to 1 and channel4 zero-cross Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [21] | CH5ZCIEN | Channel5 Zero-cross Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note1: Interrupt occurs if this bit is set to 1 and channel5 zero-cross Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [22] | CH6ZCIEN | Channel6 Zero-cross Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note1: Interrupt occurs if this bit is set to 1 and channel6 zero-cross Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [23] | CH7ZCIEN | Channel7 Zero-cross Interrupt Enable Control
0 = Interrupt Disabled. 1 = Interrupt Enabled. Note1: Interrupt occurs if this bit is set to 1 and channel7 zero-cross Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| I2S_T::RXFIFO |
[0x0014] I2S Receive FIFO Register
| Bits | Field | Descriptions |
| [31:0] | RXFIFO | Receive FIFO Bits
I2S contains 16 words (16x32 bit) data buffer for data receive Read this register to get data in FIFO The remaining data word number is indicated by RXCNT (I2S_STATUS1[20:16]). |
| I2S_T::STATUS0 |
[0x000c] I2S Status Register 0
| Bits | Field | Descriptions |
| [0] | I2SINT | I2S Interrupt Flag (Read Only)
0 = No I2S interrupt. 1 = I2S interrupt. Note: It is wire-OR of I2STXINT and I2SRXINT bits. |
| [1] | I2SRXINT | I2S Receive Interrupt (Read Only)
0 = No receive interrupt. 1 = Receive interrupt. |
| [2] | I2STXINT | I2S Transmit Interrupt (Read Only)
0 = No transmit interrupt. 1 = Transmit interrupt. |
| [5:3] | DATACH | Transmission Data Channel (Read Only)
This bit fields are used to indicate which audio channel is current transmit data belong. 000 = channel0 (means left channel while 2-channel I2S/PCM mode). 001 = channel1 (means right channel while 2-channel I2S/PCM mode). 010 = channel2 (available while 4-channel TDM PCM mode). 011 = channel3 (available while 4-channel TDM PCM mode). 100 = channel4 (available while 6-channel TDM PCM mode). 101 = channel5 (available while 6-channel TDM PCM mode). 110 = channel6 (available while 8-channel TDM PCM mode). 111 = channel7 (available while 8-channel TDM PCM mode). |
| [8] | RXUDIF | Receive FIFO Underflow Interrupt Flag
0 = No underflow occur. 1 = Underflow occur. Note1: When receive FIFO is empty, and software reads the receive FIFO again This bit will be set to 1, and it indicates underflow situation occurs. Note2: Write 1 to clear this bit to zero |
| [9] | RXOVIF | Receive FIFO Overflow Interrupt Flag
0 = No overflow occur. 1 = Overflow occur. Note1: When receive FIFO is full and receive hardware attempt to write data into receive FIFO then this bit is set to 1, data in 1st buffer is overwrote. Note2: Write 1 to clear this bit to 0. |
| [10] | RXTHIF | Receive FIFO Threshold Interrupt Flag (Read Only)
0 = Data word(s) in FIFO is not higher than threshold level. 1 = Data word(s) in FIFO is higher than threshold level. Note: When data word(s) in receive FIFO is higher than threshold value set in RXTH (I2S_CTL1[19:16]) the RXTHIF bit becomes to 1 It keeps at 1 till RXCNT (I2S_STATUS1[20:16]) is not higher than RXTH (I2S_CTL1[19:16]) after software read RXFIFO register. |
| [11] | RXFULL | Receive FIFO Full (Read Only)
0 = Not full. 1 = Full. Note: This bit reflects data words number in receive FIFO is 16. |
| [12] | RXEMPTY | Receive FIFO Empty (Read Only)
0 = Not empty. 1 = Empty. Note: This bit reflects data words number in receive FIFO is zero |
| [16] | TXUDIF | Transmit FIFO Underflow Interrupt Flag
0 = No underflow. 1 = Underflow. Note1: This bit will be set to 1 when shift logic hardware read data from transmitting FIFO and the filling data level in transmitting FIFO is not enough for one audio frame. Note2: Write 1 to clear this bit to 0. |
| [17] | TXOVIF | Transmit FIFO Overflow Interrupt Flag
0 = No overflow. 1 = Overflow. Note1: Write data to transmit FIFO when it is full and this bit set to 1 Note2: Write 1 to clear this bit to 0. |
| [18] | TXTHIF | Transmit FIFO Threshold Interrupt Flag (Read Only)
0 = Data word(s) in FIFO is higher than threshold level. 1 = Data word(s) in FIFO is equal or lower than threshold level. Note: When data word(s) in transmit FIFO is equal or lower than threshold value set in TXTH (I2S_CTL1[11:8]) the TXTHIF bit becomes to 1 It keeps at 1 till TXCNT (I2S_STATUS1[12:8]) is higher than TXTH (I2S_CTL1[11:8]) after software write TXFIFO register. |
| [19] | TXFULL | Transmit FIFO Full (Read Only)
This bit reflect data word number in transmit FIFO is 16 0 = Not full. 1 = Full. |
| [20] | TXEMPTY | Transmit FIFO Empty (Read Only)
This bit reflect data word number in transmit FIFO is zero 0 = Not empty. 1 = Empty. |
| [21] | TXBUSY | Transmit Busy (Read Only)
0 = Transmit shift buffer is empty. 1 = Transmit shift buffer is busy. Note: This bit is cleared to 0 when all data in transmit FIFO and shift buffer is shifted out And set to 1 when 1st data is load to shift buffer |
| I2S_T::STATUS1 |
[0x0024] I2S Status Register 1
| Bits | Field | Descriptions |
| [0] | CH0ZCIF | Channel0 Zero-cross Interrupt Flag
It indicates channel0 next sample data sign bit is changed or all data bits are zero. 0 = No zero-cross in channel0. 1 = Channel0 zero-cross is detected. Note1: Write 1 to clear this bit to 0. Note2: Channel0 also means left audio channel while I2S (FORMAT[2]=0) or 2-channel PCM mode. |
| [1] | CH1ZCIF | Channel1 Zero-cross Interrupt Flag
It indicates channel1 next sample data sign bit is changed or all data bits are zero. 0 = No zero-cross in channel1. 1 = Channel1 zero-cross is detected. Note1: Write 1 to clear this bit to 0. Note2: Channel1 also means right audio channel while I2S (FORMAT[2]=0) or 2-channel PCM mode. |
| [2] | CH2ZCIF | Channel2 Zero-cross Interrupt Flag
It indicates channel2 next sample data sign bit is changed or all data bits are zero. 0 = No zero-cross in channel2. 1 = Channel2 zero-cross is detected. Note1: Write 1 to clear this bit to 0. Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [3] | CH3ZCIF | Channel3 Zero-cross Interrupt Flag
It indicates channel3 next sample data sign bit is changed or all data bits are zero. 0 = No zero-cross in channel3. 1 = Channel3 zero-cross is detected. Note1: Write 1 to clear this bit to 0. Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [4] | CH4ZCIF | Channel4 Zero-cross Interrupt Flag
It indicates channel4 next sample data sign bit is changed or all data bits are zero. 0 = No zero-cross in channel4. 1 = Channel4 zero-cross is detected. Note1: Write 1 to clear this bit to 0. Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [5] | CH5ZCIF | Channel5 Zero-cross Interrupt Flag
It indicates channel5 next sample data sign bit is changed or all data bits are zero. 0 = No zero-cross in channel5. 1 = Channel5 zero-cross is detected. Note1: Write 1 to clear this bit to 0. Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [6] | CH6ZCIF | Channel6 Zero-cross Interrupt Flag
It indicates channel6 next sample data sign bit is changed or all data bits are zero. 0 = No zero-cross in channel6. 1 = Channel6 zero-cross is detected. Note1: Write 1 to clear this bit to 0. Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [7] | CH7ZCIF | Channel7 Zero-cross Interrupt Flag
It indicates channel7 next sample data sign bit is changed or all data bits are zero. 0 = No zero-cross in channel7. 1 = Channel7 zero-cross is detected. Note1: Write 1 to clear this bit to 0. Note2: This bit is available while multi-channel PCM mode and TDMCHNUM (I2S_CTL0[31:30]) = 0x1, 0x2, 0x3. |
| [12:8] | TXCNT | Transmit FIFO Level (Read Only)
These bits indicate the number of available entries in transmit FIFO 00000 = No data. 00001 = 1 word in transmit FIFO. 00010 = 2 words in transmit FIFO. ... 01110 = 14 words in transmit FIFO. 01111 = 15 words in transmit FIFO. 10000 = 16 words in transmit FIFO. Others are reserved. |
| [20:16] | RXCNT | Receive FIFO Level (Read Only)
These bits indicate the number of available entries in receive FIFO 00000 = No data. 00001 = 1 word in receive FIFO. 00010 = 2 words in receive FIFO. ... 01110 = 14 words in receive FIFO. 01111 = 15 words in receive FIFO. 10000 = 16 words in receive FIFO. Others are reserved. |
| I2S_T::TXFIFO |
[0x0010] I2S Transmit FIFO Register
| Bits | Field | Descriptions |
| [31:0] | TXFIFO | Transmit FIFO Bits
I2S contains 16 words (16x32 bit) data buffer for data transmit Write data to this register to prepare data for transmit The remaining word number is indicated by TXCNT (I2S_STATUS1[12:8]). |


--- layout: post title: Dog date: '2016-07-29T14:30:35+02:00' categories: - Sketchbooks - Sketches - Storyboards picture_url: https://film-Storyboards.tumblr.com/post/148160943114 ---


National Statistics
Further education and skills data reported for October 2016.
Ref: SFA/SFR35 PDF , 705KB , 26 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Ref: SFA/SFR35 MS Excel Spreadsheet , 885KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 659KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
MS Excel Spreadsheet , 41KB
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 316KB , 9 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 147KB , 4 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
Additional breakdowns of this data are available at the FE Data Library .
This is a Department for Education (DfE) statistical first release (SFR), published by the Skills Funding Agency (SFA). It is a National Statistics publication which complies compliance the Code of Practice for Official Statistics.
Publication data: Underlying statistical data Local Authority data is included in supplementary tables Region: England Coverage status: Final Next release: 17 November Provides information on adult (aged 19 and over) government-funded further education (excluding schools and higher education) and all age (16 and over) apprenticeships in England, between 2010 to 2011 and 2015 to 2016.
Feedback is essential to ensure the SFR remains relevant to all users. Periodically we ask for opinions about our release and if you would like to be involved in the future then please contact<EMAIL_ADDRESS>.
Elizabeth Richards
Department for Education
FE Statistics
Floor 2, Spur 1
1 Victoria Street
London
SW1H 0ET
Email<EMAIL_ADDRESS>Secretary of State for Education (DfE) Minister of State for Universities, Science, Research and Innovation (DfE) Minister of State for Vulnerable Children and Families (DfE)
Special Adviser (DfE) (2 recipients) Permanent Secretary (DfE)
Head of Profession for Statistics (DfE) Head of Profession Support (DfE)
Director General, Higher and Further Education (DfE) Director General, Education Standards (DfE)
Director, Closing the Gap Group (DfE) Deputy Director, Vocational Education Directorate (DfE) Deputy Director, Skills Policy Analysis (DfE) Deputy Director, Simplification, Funding and Sponsorship (DfE)
Director, Apprenticeship Directorate (DfE) Deputy Director, Apprenticeships (DfE) Team leader, Apprenticeships (DfE)
Press Officers (DfE) (3 recipients)
Skills Funding Agency, Executive Director Skills Funding Agency Communications (1 recipient)
Briefing Support/Official – Apprenticeship Policy (DfE) (1 recipient) Briefing Support/Officials – Routes into Apprenticeships and Work (DfE) (3 recipients) Briefing Support/Official – Statutory Entitlements, ACL, Offender Learning (DfE) Briefing Support/Official – FE Policy - Funding, Transition, Devolution (DfE) Briefing Support/Official – Employer Ownership Pilot - Specialilst Institutions and Delivery DfE) Briefing Support/Official – Advanced Learning Loans - Higher Level Student Finance (DfE) (3 recipients) Briefing Support/Official – Earn or Learn Taskforce (CO) Commercial and Legal Unit (DfE) (1 recipients)
Published: 6 October 2016
Updated: 25 October 2016


This awesome application calculates check sum of your files using SHA256 algorithm and tells how many time you have uploaded the file. Just try and enjoy ;)
{% for message in get_flashed_messages() %}
{{ message }}
{% endfor %}
The file was uploaded {%- if total == 1 %} only once {% else %} {{ total }} times {% endif %}
Try one more time or use another file.


Core Icons
Add Sketch library
Download SVG icons
Download PDF icons
View on Github
View changelog
Request new icon
Get help (NRK only)