Waqar Yunus Shaikh, a software developer.
Develop usable softwares.
Customize softwares for you, or develop new one


{% extends "base.html" %} {% block title %}Index{% endblock %} {% block content %} TSSM TSSM is an application that manages search notes on your twitter. Sign in with Twitter {% endblock %}


Run the statements in the top right panel.
Now we change the SCHEMA back to the tutorial schema. In this example, we use SQLID instead of SCHEMA. Both of these forms of the command are permitted.
This select statement shows how the SCHEMA has now been reset to the tutorial schema.
You should see successful completion messages in the bottom right as well as a result set in the second tab.


Active schools School-eng register view: 8 records
This page is a view of the School-eng register to display only active schools. To view the total number of records, go to the School-eng register.
Download as: json, yaml, csv, tsv and ttl.
What are the table headers?
- Key
- Value assigned to display items in this view.
- School-eng:
- School in England legally registered to provide full time education to pupils of compulsory school age.
- Name:
- Name of field
- Address:
- An address in the UK.
- School-authority-eng:
- School authority organisation.
- Minimum-age:
- Minimum age.
- Maximum-age:
- Maximum age.
- School-capacity:
- A school’s capacity of pupil places.
- Religious-characters:
- A list of religion or subgroup within a religion operating under a common name, tradition, and identity.
- Religious-ethos:
- A list of religion or subgroup within a religion operating under a common name, tradition, and identity.
- Dioceses:
- A list of districts under the pastoral care of a bishop in the Christian Church.
- Organisation:
- A legal entity.
- School-phases:
- A list of phases of a school.
- School-admissions-policy:
- The admissions policy for a school.
- School-gender:
- The gender of a school.
- School-tags:
- Set of tags which may be applied to a school.
- Headteacher:
- The name of the headteacher or principal for a school or educational establishment.
- Start-date:
- Start datetime for the applicability of a register entry.
- End-date:
- End datetime for the applicability of a register entry.
- Key:
- Value assigned to group schools by local authority.
The table headers are part of the Field Register. This is what they stand for:
| key | school-eng | name | address | school-authority-eng | minimum-age | maximum-age | school-capacity | religious-characters | religious-ethos | dioceses | organisation | school-phases | school-admissions-policy | school-gender | school-tags | headteacher | start-date | end-date |
| 138485 | 138485 | Knightsfield School |<PHONE_NUMBER>11 | 919 | 10 | 18 | 50 | academy-school-eng:138485 | M | Lucille Leith | 2012-08-01 | |||||||
| 143604 | 143604 | Larwood School |<PHONE_NUMBER>60 | 919 | 5 | 11 | 64 | academy-school-eng:143604 | N | M | Mr S Trimble | 2016-11-01 | ||||||
| 143603 | 143603 | Laurance Haines School |<PHONE_NUMBER>30 | 919 | 3 | 11 | 420 | academy-school-eng:143603 | PRI | M | Mr James Roach | 2016-11-01 | ||||||
| 138632 | 138632 | Monk's Walk School |<PHONE_NUMBER>15 | 919 | 11 | 18 | 1341 | academy-school-eng:138632 | SEC | C | M | Kate Smith | 2012-09-01 | |||||
| 138539 | 138539 | Northgate Primary School |<PHONE_NUMBER>00 | 919 | 3 | 11 | 480 | academy-school-eng:138539 | PRI | M | Mrs Louisa Hotson | 2012-08-01 | ||||||
| 143409 | 143409 | Roselands Primary School | 148025794 | 919 | 5 | 11 | 315 | academy-school-eng:143409 | PRI | M | Mrs J Carson | 2016-09-01 | ||||||
| 138582 | 138582 | Samuel Ryder Academy |<PHONE_NUMBER>85 | 919 | 4 | 19 | 1120 | academy-school-eng:138582 | ALL | C | M | Mr Matt Gauthier | 2012-09-01 | |||||
| 143410 | 143410 | The Cranbourne Primary School | 148034021 | 919 | 4 | 11 | 497 | academy-school-eng:143410 | PRI | M | Mrs Rachel Semark | 2016-09-01 |


William Henry "Bill" Gates III is an American business magnate, investor, author, and philanthropist.
1955 - Born in Seattle, Washington, U.S.
1968 - he enrolled in the Lakeside School, a private preparatory school.
1972 - formed a venture with Paul Allen, called Traf-O-Data, to make traffic counters based on the Intel 8008 processor.
1973 - he enrolled in the Lakeside School, a private preparatory school and served as a congressional page in the U.S. House of Representatives.
1975 - Gates and Paul Allen co-founded Microsoft, which became the world's largest PC software company. During his career at Microsoft, Gates held the positions of chairman, CEO and chief software architect, and was the largest individual shareholder.
1976 - wrote an open letter to computer hobbyists, saying that continued distribution and use of software without paying for it would "prevent good software from being written".
1979 - Gates placed himself as the head of Microsoft, which grossed approximately $2.5 million.
1980 - IBM was looking for software that would operate their upcoming personal computer (PC) and approached Microsoft. Legend has it that at the first meeting with Bill Gates someone at IBM mistook him for an office assistant and asked him to serve coffee.
1985 - Bill Gates and Microsoft launched Windows; nearly two years after his announcement. Visually the Windows system looked very similar to the Macintosh system Apple Computer Corporation had introduced nearly two years earlier.
1987 - Bill has been included in the Forbes list of the world's wealthiest people
2000 - Stepped down as chief executive officer of Microsoft
2006 - He and his wife were awarded the Order of the Aztec Eagle by the Mexican government for their philanthropic work throughout the world in the areas of health and education.
2008 - Bill had last full day at Microsoft at June 27
2014 - Gates announced that he would be stepping down as chairman of Microsoft in order to move into a new position as technology adviser.
2015 - He spoke out in favor of national Common Core standards in grades K through 12 and charter schools.
2016 - Bill and his wife Melinda were recognized for their philanthropic work when they were named recipients of the Presidential Medal of Freedom, presented by Barack Obama.
If you have time, you should read more about this incredible human being on his Wikipedia entry.


AWS::Budgets::Budget
The AWS::Budgets::Budget
resource allows customers to take pre-defined actions that will trigger once a budget threshold has been exceeded. creates, replaces, or deletes budgets for Billing and Cost Management.
For more information, see
Managing Your Costs with Budgets
in the AWS Billing and Cost Management User Guide.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::Budgets::Budget", "Properties" : { "Budget" :
BudgetData
, "NotificationsWithSubscribers" :[ NotificationWithSubscribers, ... ]
} }
YAML
Type: AWS::Budgets::Budget Properties: Budget:
BudgetData
NotificationsWithSubscribers:- NotificationWithSubscribers
Properties
Budget
-
The budget object that you want to create.
Required: Yes
Type: BudgetData
Update requires: No interruption
NotificationsWithSubscribers
-
A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your
CreateBudget
call, AWS creates the notifications and subscribers for you.Required: No
Type: List of NotificationWithSubscribers
Maximum:
10
Update requires: Replacement
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the name of the budget that is created by the template.
For more information about using the Ref
function, see Ref.
Examples
Budget for 100 USD with two notifications
The following example creates a budget for 100 USD amount of costs, with notifications for when you have spent over
80 USD or over 99 USD. The notifications are sent to the subscribers<EMAIL_ADDRESS>and<EMAIL_ADDRESS>.
JSON
{ "Description": "Basic Budget test", "Resources": { "Budget": { "Type": "AWS::Budgets::Budget", "Properties": { "Budget": { "BudgetLimit": { "Amount": "100", "Unit": "USD" }, "TimeUnit": "MONTHLY", "TimePeriod": { "Start": "1225864800", "End": "1926864800" }, "BudgetType": "COST", "CostFilters": { "AZ": [ "us-east-1", "us-west-1", "us-east-2" ] } }, "NotificationsWithSubscribers": [ { "Notification": { "NotificationType": "ACTUAL", "ComparisonOperator": "GREATER_THAN", "Threshold": 99 }, "Subscribers": [ { "SubscriptionType": "EMAIL", "Address"<EMAIL_ADDRESS>}, { "SubscriptionType": "EMAIL", "Address"<EMAIL_ADDRESS>} ] }, { "Notification": { "NotificationType": "ACTUAL", "ComparisonOperator": "GREATER_THAN", "Threshold": 80 }, "Subscribers": [ { "SubscriptionType": "EMAIL", "Address"<EMAIL_ADDRESS>} ] } ] } } }, "Outputs": { "BudgetId": { "Value": "BudgetExample" } } }
YAML
--- Description: "Basic Budget test" Resources: BudgetExample: Type: "AWS::Budgets::Budget" Properties: Budget: BudgetLimit: Amount: 100 Unit: USD TimeUnit: MONTHLY TimePeriod: Start:<PHONE_NUMBER> End:<PHONE_NUMBER> BudgetType: COST CostFilters: AZ: - us-east-1 - us-west-1 - us-east-2 NotificationsWithSubscribers: - Notification: NotificationType: ACTUAL ComparisonOperator: GREATER_THAN Threshold: 99 Subscribers: - SubscriptionType: EMAIL Address<EMAIL_ADDRESS>- SubscriptionType: EMAIL Address<EMAIL_ADDRESS>- Notification: NotificationType: ACTUAL ComparisonOperator: GREATER_THAN Threshold: 80 Subscribers: - SubscriptionType: EMAIL Address<EMAIL_ADDRESS>Outputs: BudgetId: Value: !Ref BudgetExample
See also
-
CreateBudget in the AWS Cost Explorer Service Cost Management APIs


Given the equation:
\qquad y = A_DISPx^2 + -2 * A * Hx + A * H * H + K
Find the parabola's vertex.
\large{\left(\right.}
H,\text{ }
K\large{\left.\right)}
(-1, 2)
When the equation is rewritten in vertex form like this, the vertex is the point (h, k)
:
\qquad formatGroup( GROUP1, [ 0 ] )
We can rewrite the equation in vertex form by completing the square. First, move the constant term to the left side of the equation:
\qquad formatGroup( COMP_SQR1, [ 0, 1 ] )
Next, we can factor out a A
from the right side:
\qquad formatGroup( COMP_SQR2, [ 0 ] )
We can complete the square by taking half of the coefficient of our x term, squaring it, and adding it to both sides of the equation.
The coefficient of our x term is -2 * H
, so half of it would be -H
,
and squaring that gives us H * H
. Because we're adding the H * H
inside the parentheses on the right where it's being multiplied by A
, we need to add A * H * H
to the left side to make sure we're adding the same thing to both sides.
\qquad formatGroup( COMP_SQR3, [ 0, 1, 2 ] )
Now we can rewrite the expression in parentheses as a squared term:
\qquad formatGroup( COMP_SQR4, [ 0 ] )
Move the constant term to the right side of the equation. Now the equation is in vertex form:
\qquad formatGroup( COMP_SQR5, [ 0 ] )
Now that the equation is written in vertex form, the vertex is the point (h, k)
:
\qquad formatGroup( GROUP1, [ 0 ] )
The vertex is (H, K)
. Be sure to pay attention to the signs when interpreting an equation in vertex form.


Medicart is online platform for online selling and purchasing the medicines.Many times patient is not able to go to medical and purchase the medicines so he/she can buy medicine from home.
In this system medicine companies who wants to sell their product can add product to the system and make profit.


12 SS12 Results
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | 618.5 | 0.0 | 0.0 |
| 2 | 33 | EVA | 619.7 | 1.2 | 1.2 |
| 3 | 42 | BRE | 620.5 | 2.0 | 0.8 |
| 4 | 4 | LAP | 621.4 | 2.9 | 0.9 |
| 5 | 1 | OGI | 622.6 | 4.1 | 1.2 |
| 6 | 11 | NEU | 623.4 | 4.9 | 0.8 |
| 7 | 44 | GRE | 635.2 | 16.7 | 11.8 |
| 8 | 16 | FOU | 649.7 | 31.2 | 14.5 |
| 9 | 18 | KAT | 1218.5 | 600.0 | 174.5 |
| 10 | 69 | ROV | 1218.5 | 600.0 | 0.0 |
12.1 Stage SS12 Splits Analysis
Reports on splits
12.1.1 Split Locations
Length of each split section in km:
| full_split_distances | stage_dist | |
|---|---|---|
| split_1 | 4.59 | 4.59 |
| split_2 | 4.06 | 8.65 |
| split_3 | 5.34 | 13.99 |
| split_4 | 5.72 | 19.71 |
| split_N | 2.90 | 22.61 |
12.1.2 Stage Split Times & Result
Summary of stage split times and overall stage result:
| code | split_1 | split_2 | split_3 | split_4 | split_N | diffFirstS | position |
|---|---|---|---|---|---|---|---|
| TÄN | 130.4 | 244.7 | 391.1 | 535.9 | 618.5 | 0.0 | 1 |
| EVA | 131.5 | 246.3 | 392.8 | 537.7 | 619.7 | 1.2 | 2 |
| BRE | 131.0 | 245.6 | 392.2 | 537.4 | 620.5 | 2.0 | 3 |
| LAP | 131.5 | 246.5 | 393.8 | 538.8 | 621.4 | 2.9 | 4 |
| OGI | 132.1 | 247.9 | 394.3 | 540.2 | 622.6 | 4.1 | 5 |
| NEU | 132.5 | 248.2 | 395.3 | 540.7 | 623.4 | 4.9 | 6 |
| GRE | 134.5 | 252.3 | 401.8 | 550.6 | 635.2 | 16.7 | 7 |
| FOU | 139.0 | 259.9 | 412.3 | 563.9 | 649.7 | 31.2 | 8 |
12.1.3 Split Time Rankings
Rank of each split time:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | 1 | 1 | 1 | 1 | 1 |
| EVA | 3 | 3 | 3 | 3 | 2 |
| BRE | 2 | 2 | 2 | 2 | 3 |
| LAP | 3 | 4 | 4 | 4 | 4 |
| OGI | 4 | 5 | 5 | 5 | 5 |
| NEU | 5 | 6 | 6 | 6 | 6 |
| GRE | 6 | 7 | 7 | 7 | 7 |
| FOU | 7 | 8 | 8 | 8 | 8 |
Rank on each split section:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | 1 | 1 | 2 | 1 | 3 |
| EVA | 3 | 3 | 3 | 2 | 1 |
| BRE | 2 | 2 | 4 | 4 | 5 |
| LAP | 3 | 4 | 6 | 3 | 3 |
| OGI | 4 | 6 | 1 | 6 | 2 |
| NEU | 5 | 5 | 5 | 5 | 4 |
| GRE | 6 | 7 | 7 | 7 | 6 |
| FOU | 7 | 8 | 8 | 8 | 7 |
12.1.4 Split Section Pace
Pace is measured in seconds per kilometer, which is to say, how long it takes to complete each kilometer (lower is better):
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | 28.41 | 28.15 | 27.42 | 25.31 | 28.48 |
| EVA | 28.65 | 28.28 | 27.43 | 25.33 | 28.28 |
| BRE | 28.54 | 28.23 | 27.45 | 25.38 | 28.66 |
| LAP | 28.65 | 28.33 | 27.58 | 25.35 | 28.48 |
| OGI | 28.78 | 28.52 | 27.42 | 25.51 | 28.41 |
| NEU | 28.87 | 28.50 | 27.55 | 25.42 | 28.52 |
| GRE | 29.30 | 29.01 | 28.00 | 26.01 | 29.17 |
| FOU | 30.28 | 29.78 | 28.54 | 26.50 | 29.59 |
12.1.5 Pace Chart
Pace relative to the stage winner.
12.1.6 Ultimate Stage Comparisons
Split time comparisons relative to various ultimate stage time calculations.
These views provide various ways of comparing the performance of each driver to various ghost drivers:
- best recorded split time at each split (ultimate actuals): gives an estimate of how well the driver’s split times compare with each first ranked split time (time into stage at each split);
- fastest time going from one split to the next (ultimate sections): gives an estimate of how quickly each driver completed each split section relative to the quickest time recorded completing that split section (time taken to go from one split point to the next);
- accumulated ultimate sections times: gives and estimate of how quickly the driver is going relative to the fastest possible completion of the stage based on accumulated ultimate split section times.
<IP_ADDRESS> Ultimate Actuals
Driver times compared to the first ranked recorded split time at each split:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| EVA | 1.1 | 1.6 | 1.7 | 1.8 | 1.2 |
| BRE | 0.6 | 0.9 | 1.1 | 1.5 | 2.0 |
| LAP | 1.1 | 1.8 | 2.7 | 2.9 | 2.9 |
| OGI | 1.7 | 3.2 | 3.2 | 4.3 | 4.1 |
| NEU | 2.1 | 3.5 | 4.2 | 4.8 | 4.9 |
| GRE | 4.1 | 7.6 | 10.7 | 14.7 | 16.7 |
| FOU | 8.6 | 15.2 | 21.2 | 28.0 | 31.2 |
| ultimate | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
<IP_ADDRESS> Ultimate Sections
Split durations rebased relative to the fastest transit of each split section:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | 0.0 | 0.0 | 0.0 | 0.0 | 0.6 |
| EVA | 1.1 | 0.5 | 0.1 | 0.1 | 0.0 |
| BRE | 0.6 | 0.3 | 0.2 | 0.4 | 1.1 |
| LAP | 1.1 | 0.7 | 0.9 | 0.2 | 0.6 |
| OGI | 1.7 | 1.5 | 0.0 | 1.1 | 0.4 |
| NEU | 2.1 | 1.4 | 0.7 | 0.6 | 0.7 |
| GRE | 4.1 | 3.5 | 3.1 | 4.0 | 2.6 |
| FOU | 8.6 | 6.6 | 6.0 | 6.8 | 3.8 |
| ultimate | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
<IP_ADDRESS> Ultimate Accumulated Sections
Actual split times relative to the accumulated ultimate split section times:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | 0.0 | 0.0 | 0.0 | 0.0 | 0.6 |
| EVA | 1.1 | 1.6 | 1.7 | 1.8 | 1.8 |
| BRE | 0.6 | 0.9 | 1.1 | 1.5 | 2.6 |
| LAP | 1.1 | 1.8 | 2.7 | 2.9 | 3.5 |
| OGI | 1.7 | 3.2 | 3.2 | 4.3 | 4.7 |
| NEU | 2.1 | 3.5 | 4.2 | 4.8 | 5.5 |
| GRE | 4.1 | 7.6 | 10.7 | 14.7 | 17.3 |
| FOU | 8.6 | 15.2 | 21.2 | 28.0 | 31.8 |
| ultimate | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
12.1.7 Split Section Pace Distribution
Distribution of pace values for each split section:
12.2 Text report
| code | identifier | entryId | stage | overall_pos | prev_position | retained_lead | lost_lead | gained_lead | overall_position_delta | overall_chase_code | overall_lead_code | overall_gap | overall_diff | overall_chase | overall_stage_pos | stage_position | stage_win | position | TimeInS | gap | diff | chase | chase_code | lead_code |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TÄN | 8 | 23801 | SS12 | 2 | 3 | FALSE | FALSE | FALSE | 1 | BRE | EVA | 7.9 | 7.9 | 0.2 | 1 | 1 | TRUE | 1 | 618.5 | 0.0 | 0.0 | 1.2 | EVA | NA |
| EVA | 33 | 23798 | SS12 | 1 | 1 | TRUE | FALSE | FALSE | 0 | TÄN | NA | 0.0 | NA | 7.9 | 2 | 2 | FALSE | 2 | 619.7 | 1.2 | 1.2 | 0.8 | BRE | TÄN |
| BRE | 42 | 23803 | SS12 | 3 | 2 | FALSE | FALSE | FALSE | -1 | LAP | TÄN | 8.1 | 0.2 | 26.8 | 3 | 3 | FALSE | 3 | 620.5 | 2.0 | 0.8 | 0.9 | LAP | EVA |
| LAP | 4 | 23806 | SS12 | 4 | 4 | FALSE | FALSE | FALSE | 0 | NEU | BRE | 34.9 | 26.8 | 25.5 | 4 | 4 | FALSE | 4 | 621.4 | 2.9 | 0.9 | 1.2 | OGI | BRE |
| OGI | 1 | 23797 | SS12 | 6 | 6 | FALSE | FALSE | FALSE | 0 | GRE | NEU | 72.7 | 12.3 | 137.0 | 5 | 5 | FALSE | 5 | 622.6 | 4.1 | 1.2 | 0.8 | NEU | LAP |
| NEU | 11 | 23799 | SS12 | 5 | 5 | FALSE | FALSE | FALSE | 0 | OGI | LAP | 60.4 | 25.5 | 12.3 | 6 | 6 | FALSE | 6 | 623.4 | 4.9 | 0.8 | 11.8 | GRE | OGI |
| GRE | 44 | 23804 | SS12 | 7 | 7 | FALSE | FALSE | FALSE | 0 | FOU | OGI | 209.7 | 137.0 | 70.2 | 7 | 7 | FALSE | 7 | 635.2 | 16.7 | 11.8 | 14.5 | FOU | NEU |
| FOU | 16 | 23805 | SS12 | 8 | 8 | FALSE | FALSE | FALSE | 0 | ROV | GRE | 279.9 | 70.2 | 1536.9 | 8 | 8 | FALSE | 8 | 649.7 | 31.2 | 14.5 | 568.8 | KAT | GRE |
| KAT | 18 | 23802 | SS12 | 10 | 10 | FALSE | FALSE | FALSE | 0 | NA | ROV | 3055.1 | 1238.3 | NA | 38 | 9 | FALSE | 9 | 1218.5 | 600.0 | 174.5 | 0.0 | ROV | FOU |
| ROV | 69 | 23800 | SS12 | 9 | 9 | FALSE | FALSE | FALSE | 0 | KAT | FOU | 1816.8 | 1536.9 | 1238.3 | 39 | 10 | FALSE | 10 | 1218.5 | 600.0 | 0.0 | NA | NA | KAT |
Stage report for SS12:
TÄN took the stage win and moved up one place to second overall marking a time of 618.5s.
EVA took second place on stage, 1.2s behind stage winner TÄN in a time of 619.7s kept hold of the overall lead of the rally.
BRE was in third place on stage, with a time of 620.5s dropped one place to third overall and just 0.8s further behind EVA.
LAP took fourth position on stage, with a time of 621.4s and just 0.9s further behind BRE.
OGI was in fifth on stage, 4.1s behind stage winner TÄN in a time of 622.6s .
NEU took sixth position on stage, 4.9s behind the stage winner in a time of 623.4s , only 0.8s further back behind OGI.
GRE took seventh place on stage, with a time of 635.2s .
FOU took eighth on stage, 14.5s behind GRE .
KAT took thirty-eighth position on stage, with a time of 1218.5s, well back on FOU, who was 174.5s faster.
ROV was in thirty-ninth on stage, with a time of 1218.5s with the same time as KAT.
12.3 Driver Report, SS12 - OGI
OGI was in fifth on stage, 4.1s behind stage winner TÄN in a time of 622.6s .
Stage report for OGI.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | -4.1 | -4.1 | 0.0 |
| 2 | 33 | EVA | -2.9 | -2.9 | 1.2 |
| 3 | 42 | BRE | -2.1 | -2.1 | 0.8 |
| 4 | 4 | LAP | -1.2 | -1.2 | 0.9 |
| 5 | 1 | OGI | 0.0 | 0.0 | 1.2 |
| 6 | 11 | NEU | 0.8 | 0.8 | 0.8 |
| 7 | 44 | GRE | 12.6 | 12.6 | 11.8 |
| 8 | 16 | FOU | 27.1 | 27.1 | 14.5 |
| 38 | 18 | KAT | 595.9 | 595.9 | 174.5 |
| 39 | 69 | ROV | 595.9 | 595.9 | 0.0 |
12.3.1 Rebased Split Times
OGI’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -1.7 | -3.2 | -3.2 | -4.3 | -4.1 |
| EVA | -0.6 | -1.6 | -1.5 | -2.5 | -2.9 |
| BRE | -1.1 | -2.3 | -2.1 | -2.8 | -2.1 |
| LAP | -0.6 | -1.4 | -0.5 | -1.4 | -1.2 |
| OGI | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| NEU | 0.4 | 0.3 | 1.0 | 0.5 | 0.8 |
| GRE | 2.4 | 4.4 | 7.5 | 10.4 | 12.6 |
| FOU | 6.9 | 12.0 | 18.0 | 23.7 | 27.1 |
12.3.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.3.3 Within-Split Duration Deltas
OGI’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -1.7 | -1.5 | 0.0 | -1.1 | 0.2 |
| EVA | -0.6 | -1.0 | 0.1 | -1.0 | -0.4 |
| BRE | -1.1 | -1.2 | 0.2 | -0.7 | 0.7 |
| LAP | -0.6 | -0.8 | 0.9 | -0.9 | 0.2 |
| OGI | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| NEU | 0.4 | -0.1 | 0.7 | -0.5 | 0.3 |
| GRE | 2.4 | 2.0 | 3.1 | 2.9 | 2.2 |
| FOU | 6.9 | 5.1 | 6.0 | 5.7 | 3.4 |
12.3.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -0.37 | -0.37 | 0.00 | -0.19 | 0.07 |
| EVA | -0.13 | -0.25 | 0.02 | -0.17 | -0.14 |
| BRE | -0.24 | -0.30 | 0.04 | -0.12 | 0.24 |
| LAP | -0.13 | -0.20 | 0.17 | -0.16 | 0.07 |
| OGI | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| NEU | 0.09 | -0.02 | 0.13 | -0.09 | 0.10 |
| GRE | 0.52 | 0.49 | 0.58 | 0.51 | 0.76 |
| FOU | 1.50 | 1.26 | 1.12 | 1.00 | 1.17 |
12.3.5 Within-Split Pace Map
12.4 Driver Report, SS12 - EVA
EVA took second place on stage, 1.2s behind stage winner TÄN in a time of 619.7s kept hold of the overall lead of the rally.
Stage report for EVA.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | -1.2 | -1.2 | 0.0 |
| 2 | 33 | EVA | 0.0 | 0.0 | 1.2 |
| 3 | 42 | BRE | 0.8 | 0.8 | 0.8 |
| 4 | 4 | LAP | 1.7 | 1.7 | 0.9 |
| 5 | 1 | OGI | 2.9 | 2.9 | 1.2 |
| 6 | 11 | NEU | 3.7 | 3.7 | 0.8 |
| 7 | 44 | GRE | 15.5 | 15.5 | 11.8 |
| 8 | 16 | FOU | 30.0 | 30.0 | 14.5 |
| 38 | 18 | KAT | 598.8 | 598.8 | 174.5 |
| 39 | 69 | ROV | 598.8 | 598.8 | 0.0 |
12.4.1 Rebased Split Times
EVA’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -1.1 | -1.6 | -1.7 | -1.8 | -1.2 |
| EVA | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| BRE | -0.5 | -0.7 | -0.6 | -0.3 | 0.8 |
| LAP | 0.0 | 0.2 | 1.0 | 1.1 | 1.7 |
| OGI | 0.6 | 1.6 | 1.5 | 2.5 | 2.9 |
| NEU | 1.0 | 1.9 | 2.5 | 3.0 | 3.7 |
| GRE | 3.0 | 6.0 | 9.0 | 12.9 | 15.5 |
| FOU | 7.5 | 13.6 | 19.5 | 26.2 | 30.0 |
12.4.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.4.3 Within-Split Duration Deltas
EVA’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -1.1 | -0.5 | -0.1 | -0.1 | 0.6 |
| EVA | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| BRE | -0.5 | -0.2 | 0.1 | 0.3 | 1.1 |
| LAP | 0.0 | 0.2 | 0.8 | 0.1 | 0.6 |
| OGI | 0.6 | 1.0 | -0.1 | 1.0 | 0.4 |
| NEU | 1.0 | 0.9 | 0.6 | 0.5 | 0.7 |
| GRE | 3.0 | 3.0 | 3.0 | 3.9 | 2.6 |
| FOU | 7.5 | 6.1 | 5.9 | 6.7 | 3.8 |
12.4.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -0.24 | -0.12 | -0.02 | -0.02 | 0.21 |
| EVA | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| BRE | -0.11 | -0.05 | 0.02 | 0.05 | 0.38 |
| LAP | 0.00 | 0.05 | 0.15 | 0.02 | 0.21 |
| OGI | 0.13 | 0.25 | -0.02 | 0.17 | 0.14 |
| NEU | 0.22 | 0.22 | 0.11 | 0.09 | 0.24 |
| GRE | 0.65 | 0.74 | 0.56 | 0.68 | 0.90 |
| FOU | 1.63 | 1.50 | 1.10 | 1.17 | 1.31 |
12.4.5 Within-Split Pace Map
12.5 Driver Report, SS12 - NEU
NEU took sixth position on stage, 4.9s behind the stage winner in a time of 623.4s , only 0.8s further back behind OGI.
Stage report for NEU.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | -4.9 | -4.9 | 0.0 |
| 2 | 33 | EVA | -3.7 | -3.7 | 1.2 |
| 3 | 42 | BRE | -2.9 | -2.9 | 0.8 |
| 4 | 4 | LAP | -2.0 | -2.0 | 0.9 |
| 5 | 1 | OGI | -0.8 | -0.8 | 1.2 |
| 6 | 11 | NEU | 0.0 | 0.0 | 0.8 |
| 7 | 44 | GRE | 11.8 | 11.8 | 11.8 |
| 8 | 16 | FOU | 26.3 | 26.3 | 14.5 |
| 38 | 18 | KAT | 595.1 | 595.1 | 174.5 |
| 39 | 69 | ROV | 595.1 | 595.1 | 0.0 |
12.5.1 Rebased Split Times
NEU’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -2.1 | -3.5 | -4.2 | -4.8 | -4.9 |
| EVA | -1.0 | -1.9 | -2.5 | -3.0 | -3.7 |
| BRE | -1.5 | -2.6 | -3.1 | -3.3 | -2.9 |
| LAP | -1.0 | -1.7 | -1.5 | -1.9 | -2.0 |
| OGI | -0.4 | -0.3 | -1.0 | -0.5 | -0.8 |
| NEU | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| GRE | 2.0 | 4.1 | 6.5 | 9.9 | 11.8 |
| FOU | 6.5 | 11.7 | 17.0 | 23.2 | 26.3 |
12.5.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.5.3 Within-Split Duration Deltas
NEU’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -2.1 | -1.4 | -0.7 | -0.6 | -0.1 |
| EVA | -1.0 | -0.9 | -0.6 | -0.5 | -0.7 |
| BRE | -1.5 | -1.1 | -0.5 | -0.2 | 0.4 |
| LAP | -1.0 | -0.7 | 0.2 | -0.4 | -0.1 |
| OGI | -0.4 | 0.1 | -0.7 | 0.5 | -0.3 |
| NEU | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| GRE | 2.0 | 2.1 | 2.4 | 3.4 | 1.9 |
| FOU | 6.5 | 5.2 | 5.3 | 6.2 | 3.1 |
12.5.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -0.46 | -0.34 | -0.13 | -0.10 | -0.03 |
| EVA | -0.22 | -0.22 | -0.11 | -0.09 | -0.24 |
| BRE | -0.33 | -0.27 | -0.09 | -0.03 | 0.14 |
| LAP | -0.22 | -0.17 | 0.04 | -0.07 | -0.03 |
| OGI | -0.09 | 0.02 | -0.13 | 0.09 | -0.10 |
| NEU | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| GRE | 0.44 | 0.52 | 0.45 | 0.59 | 0.66 |
| FOU | 1.42 | 1.28 | 0.99 | 1.08 | 1.07 |
12.5.5 Within-Split Pace Map
12.6 Driver Report, SS12 - ROV
ROV was in thirty-ninth on stage, with a time of 1218.5s with the same time as KAT.
Stage report for ROV.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | -600.0 | -600.0 | 0.0 |
| 2 | 33 | EVA | -598.8 | -598.8 | 1.2 |
| 3 | 42 | BRE | -598.0 | -598.0 | 0.8 |
| 4 | 4 | LAP | -597.1 | -597.1 | 0.9 |
| 5 | 1 | OGI | -595.9 | -595.9 | 1.2 |
| 6 | 11 | NEU | -595.1 | -595.1 | 0.8 |
| 7 | 44 | GRE | -583.3 | -583.3 | 11.8 |
| 8 | 16 | FOU | -568.8 | -568.8 | 14.5 |
| 38 | 18 | KAT | 0.0 | 0.0 | 174.5 |
| 39 | 69 | ROV | 0.0 | 0.0 | 0.0 |
12.6.1 Rebased Split Times
ROV’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
12.6.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.6.3 Within-Split Duration Deltas
ROV’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
12.6.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
12.6.5 Within-Split Pace Map
12.7 Driver Report, SS12 - TÄN
TÄN took the stage win and moved up one place to second overall marking a time of 618.5s.
Stage report for TÄN.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | 0.0 | 0.0 | 0.0 |
| 2 | 33 | EVA | 1.2 | 1.2 | 1.2 |
| 3 | 42 | BRE | 2.0 | 2.0 | 0.8 |
| 4 | 4 | LAP | 2.9 | 2.9 | 0.9 |
| 5 | 1 | OGI | 4.1 | 4.1 | 1.2 |
| 6 | 11 | NEU | 4.9 | 4.9 | 0.8 |
| 7 | 44 | GRE | 16.7 | 16.7 | 11.8 |
| 8 | 16 | FOU | 31.2 | 31.2 | 14.5 |
| 38 | 18 | KAT | 600.0 | 600.0 | 174.5 |
| 39 | 69 | ROV | 600.0 | 600.0 | 0.0 |
12.7.1 Rebased Split Times
TÄN’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| EVA | 1.1 | 1.6 | 1.7 | 1.8 | 1.2 |
| BRE | 0.6 | 0.9 | 1.1 | 1.5 | 2.0 |
| LAP | 1.1 | 1.8 | 2.7 | 2.9 | 2.9 |
| OGI | 1.7 | 3.2 | 3.2 | 4.3 | 4.1 |
| NEU | 2.1 | 3.5 | 4.2 | 4.8 | 4.9 |
| GRE | 4.1 | 7.6 | 10.7 | 14.7 | 16.7 |
| FOU | 8.6 | 15.2 | 21.2 | 28.0 | 31.2 |
12.7.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.7.3 Within-Split Duration Deltas
TÄN’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| EVA | 1.1 | 0.5 | 0.1 | 0.1 | -0.6 |
| BRE | 0.6 | 0.3 | 0.2 | 0.4 | 0.5 |
| LAP | 1.1 | 0.7 | 0.9 | 0.2 | 0.0 |
| OGI | 1.7 | 1.5 | 0.0 | 1.1 | -0.2 |
| NEU | 2.1 | 1.4 | 0.7 | 0.6 | 0.1 |
| GRE | 4.1 | 3.5 | 3.1 | 4.0 | 2.0 |
| FOU | 8.6 | 6.6 | 6.0 | 6.8 | 3.2 |
12.7.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| EVA | 0.24 | 0.12 | 0.02 | 0.02 | -0.21 |
| BRE | 0.13 | 0.07 | 0.04 | 0.07 | 0.17 |
| LAP | 0.24 | 0.17 | 0.17 | 0.03 | 0.00 |
| OGI | 0.37 | 0.37 | 0.00 | 0.19 | -0.07 |
| NEU | 0.46 | 0.34 | 0.13 | 0.10 | 0.03 |
| GRE | 0.89 | 0.86 | 0.58 | 0.70 | 0.69 |
| FOU | 1.87 | 1.63 | 1.12 | 1.19 | 1.10 |
12.7.5 Within-Split Pace Map
12.8 Driver Report, SS12 - KAT
KAT took thirty-eighth position on stage, with a time of 1218.5s, well back on FOU, who was 174.5s faster.
Stage report for KAT.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | -600.0 | -600.0 | 0.0 |
| 2 | 33 | EVA | -598.8 | -598.8 | 1.2 |
| 3 | 42 | BRE | -598.0 | -598.0 | 0.8 |
| 4 | 4 | LAP | -597.1 | -597.1 | 0.9 |
| 5 | 1 | OGI | -595.9 | -595.9 | 1.2 |
| 6 | 11 | NEU | -595.1 | -595.1 | 0.8 |
| 7 | 44 | GRE | -583.3 | -583.3 | 11.8 |
| 8 | 16 | FOU | -568.8 | -568.8 | 14.5 |
| 38 | 18 | KAT | 0.0 | 0.0 | 174.5 |
| 39 | 69 | ROV | 0.0 | 0.0 | 0.0 |
12.8.1 Rebased Split Times
KAT’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
12.8.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.8.3 Within-Split Duration Deltas
KAT’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
12.8.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
12.8.5 Within-Split Pace Map
12.9 Driver Report, SS12 - BRE
BRE was in third place on stage, with a time of 620.5s dropped one place to third overall and just 0.8s further behind EVA.
Stage report for BRE.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | -2.0 | -2.0 | 0.0 |
| 2 | 33 | EVA | -0.8 | -0.8 | 1.2 |
| 3 | 42 | BRE | 0.0 | 0.0 | 0.8 |
| 4 | 4 | LAP | 0.9 | 0.9 | 0.9 |
| 5 | 1 | OGI | 2.1 | 2.1 | 1.2 |
| 6 | 11 | NEU | 2.9 | 2.9 | 0.8 |
| 7 | 44 | GRE | 14.7 | 14.7 | 11.8 |
| 8 | 16 | FOU | 29.2 | 29.2 | 14.5 |
| 38 | 18 | KAT | 598.0 | 598.0 | 174.5 |
| 39 | 69 | ROV | 598.0 | 598.0 | 0.0 |
12.9.1 Rebased Split Times
BRE’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -0.6 | -0.9 | -1.1 | -1.5 | -2.0 |
| EVA | 0.5 | 0.7 | 0.6 | 0.3 | -0.8 |
| BRE | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| LAP | 0.5 | 0.9 | 1.6 | 1.4 | 0.9 |
| OGI | 1.1 | 2.3 | 2.1 | 2.8 | 2.1 |
| NEU | 1.5 | 2.6 | 3.1 | 3.3 | 2.9 |
| GRE | 3.5 | 6.7 | 9.6 | 13.2 | 14.7 |
| FOU | 8.0 | 14.3 | 20.1 | 26.5 | 29.2 |
12.9.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.9.3 Within-Split Duration Deltas
BRE’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -0.6 | -0.3 | -0.2 | -0.4 | -0.5 |
| EVA | 0.5 | 0.2 | -0.1 | -0.3 | -1.1 |
| BRE | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| LAP | 0.5 | 0.4 | 0.7 | -0.2 | -0.5 |
| OGI | 1.1 | 1.2 | -0.2 | 0.7 | -0.7 |
| NEU | 1.5 | 1.1 | 0.5 | 0.2 | -0.4 |
| GRE | 3.5 | 3.2 | 2.9 | 3.6 | 1.5 |
| FOU | 8.0 | 6.3 | 5.8 | 6.4 | 2.7 |
12.9.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -0.13 | -0.07 | -0.04 | -0.07 | -0.17 |
| EVA | 0.11 | 0.05 | -0.02 | -0.05 | -0.38 |
| BRE | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| LAP | 0.11 | 0.10 | 0.13 | -0.03 | -0.17 |
| OGI | 0.24 | 0.30 | -0.04 | 0.12 | -0.24 |
| NEU | 0.33 | 0.27 | 0.09 | 0.03 | -0.14 |
| GRE | 0.76 | 0.79 | 0.54 | 0.63 | 0.52 |
| FOU | 1.74 | 1.55 | 1.09 | 1.12 | 0.93 |
12.9.5 Within-Split Pace Map
12.10 Driver Report, SS12 - GRE
GRE took seventh place on stage, with a time of 635.2s .
Stage report for GRE.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | -16.7 | -16.7 | 0.0 |
| 2 | 33 | EVA | -15.5 | -15.5 | 1.2 |
| 3 | 42 | BRE | -14.7 | -14.7 | 0.8 |
| 4 | 4 | LAP | -13.8 | -13.8 | 0.9 |
| 5 | 1 | OGI | -12.6 | -12.6 | 1.2 |
| 6 | 11 | NEU | -11.8 | -11.8 | 0.8 |
| 7 | 44 | GRE | 0.0 | 0.0 | 11.8 |
| 8 | 16 | FOU | 14.5 | 14.5 | 14.5 |
| 38 | 18 | KAT | 583.3 | 583.3 | 174.5 |
| 39 | 69 | ROV | 583.3 | 583.3 | 0.0 |
12.10.1 Rebased Split Times
GRE’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -4.1 | -7.6 | -10.7 | -14.7 | -16.7 |
| EVA | -3.0 | -6.0 | -9.0 | -12.9 | -15.5 |
| BRE | -3.5 | -6.7 | -9.6 | -13.2 | -14.7 |
| LAP | -3.0 | -5.8 | -8.0 | -11.8 | -13.8 |
| OGI | -2.4 | -4.4 | -7.5 | -10.4 | -12.6 |
| NEU | -2.0 | -4.1 | -6.5 | -9.9 | -11.8 |
| GRE | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| FOU | 4.5 | 7.6 | 10.5 | 13.3 | 14.5 |
12.10.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.10.3 Within-Split Duration Deltas
GRE’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -4.1 | -3.5 | -3.1 | -4.0 | -2.0 |
| EVA | -3.0 | -3.0 | -3.0 | -3.9 | -2.6 |
| BRE | -3.5 | -3.2 | -2.9 | -3.6 | -1.5 |
| LAP | -3.0 | -2.8 | -2.2 | -3.8 | -2.0 |
| OGI | -2.4 | -2.0 | -3.1 | -2.9 | -2.2 |
| NEU | -2.0 | -2.1 | -2.4 | -3.4 | -1.9 |
| GRE | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| FOU | 4.5 | 3.1 | 2.9 | 2.8 | 1.2 |
12.10.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -0.89 | -0.86 | -0.58 | -0.70 | -0.69 |
| EVA | -0.65 | -0.74 | -0.56 | -0.68 | -0.90 |
| BRE | -0.76 | -0.79 | -0.54 | -0.63 | -0.52 |
| LAP | -0.65 | -0.69 | -0.41 | -0.66 | -0.69 |
| OGI | -0.52 | -0.49 | -0.58 | -0.51 | -0.76 |
| NEU | -0.44 | -0.52 | -0.45 | -0.59 | -0.66 |
| GRE | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| FOU | 0.98 | 0.76 | 0.54 | 0.49 | 0.41 |
12.10.5 Within-Split Pace Map
12.11 Driver Report, SS12 - FOU
FOU took eighth on stage, 14.5s behind GRE .
Stage report for FOU.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | -31.2 | -31.2 | 0.0 |
| 2 | 33 | EVA | -30.0 | -30.0 | 1.2 |
| 3 | 42 | BRE | -29.2 | -29.2 | 0.8 |
| 4 | 4 | LAP | -28.3 | -28.3 | 0.9 |
| 5 | 1 | OGI | -27.1 | -27.1 | 1.2 |
| 6 | 11 | NEU | -26.3 | -26.3 | 0.8 |
| 7 | 44 | GRE | -14.5 | -14.5 | 11.8 |
| 8 | 16 | FOU | 0.0 | 0.0 | 14.5 |
| 38 | 18 | KAT | 568.8 | 568.8 | 174.5 |
| 39 | 69 | ROV | 568.8 | 568.8 | 0.0 |
12.11.1 Rebased Split Times
FOU’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -8.6 | -15.2 | -21.2 | -28.0 | -31.2 |
| EVA | -7.5 | -13.6 | -19.5 | -26.2 | -30.0 |
| BRE | -8.0 | -14.3 | -20.1 | -26.5 | -29.2 |
| LAP | -7.5 | -13.4 | -18.5 | -25.1 | -28.3 |
| OGI | -6.9 | -12.0 | -18.0 | -23.7 | -27.1 |
| NEU | -6.5 | -11.7 | -17.0 | -23.2 | -26.3 |
| GRE | -4.5 | -7.6 | -10.5 | -13.3 | -14.5 |
| FOU | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
12.11.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.11.3 Within-Split Duration Deltas
FOU’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -8.6 | -6.6 | -6.0 | -6.8 | -3.2 |
| EVA | -7.5 | -6.1 | -5.9 | -6.7 | -3.8 |
| BRE | -8.0 | -6.3 | -5.8 | -6.4 | -2.7 |
| LAP | -7.5 | -5.9 | -5.1 | -6.6 | -3.2 |
| OGI | -6.9 | -5.1 | -6.0 | -5.7 | -3.4 |
| NEU | -6.5 | -5.2 | -5.3 | -6.2 | -3.1 |
| GRE | -4.5 | -3.1 | -2.9 | -2.8 | -1.2 |
| FOU | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
12.11.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -1.87 | -1.63 | -1.12 | -1.19 | -1.10 |
| EVA | -1.63 | -1.50 | -1.10 | -1.17 | -1.31 |
| BRE | -1.74 | -1.55 | -1.09 | -1.12 | -0.93 |
| LAP | -1.63 | -1.45 | -0.96 | -1.15 | -1.10 |
| OGI | -1.50 | -1.26 | -1.12 | -1.00 | -1.17 |
| NEU | -1.42 | -1.28 | -0.99 | -1.08 | -1.07 |
| GRE | -0.98 | -0.76 | -0.54 | -0.49 | -0.41 |
| FOU | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
12.11.5 Within-Split Pace Map
12.12 Driver Report, SS12 - LAP
LAP took fourth position on stage, with a time of 621.4s and just 0.9s further behind BRE.
Stage report for LAP.
| Pos | Car | Code | Time (s) | Gap | Diff |
|---|---|---|---|---|---|
| 1 | 8 | TÄN | -2.9 | -2.9 | 0.0 |
| 2 | 33 | EVA | -1.7 | -1.7 | 1.2 |
| 3 | 42 | BRE | -0.9 | -0.9 | 0.8 |
| 4 | 4 | LAP | 0.0 | 0.0 | 0.9 |
| 5 | 1 | OGI | 1.2 | 1.2 | 1.2 |
| 6 | 11 | NEU | 2.0 | 2.0 | 0.8 |
| 7 | 44 | GRE | 13.8 | 13.8 | 11.8 |
| 8 | 16 | FOU | 28.3 | 28.3 | 14.5 |
| 38 | 18 | KAT | 597.1 | 597.1 | 174.5 |
| 39 | 69 | ROV | 597.1 | 597.1 | 0.0 |
12.12.1 Rebased Split Times
LAP’s delta at each split compared to other drivers.
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -1.1 | -1.8 | -2.7 | -2.9 | -2.9 |
| EVA | 0.0 | -0.2 | -1.0 | -1.1 | -1.7 |
| BRE | -0.5 | -0.9 | -1.6 | -1.4 | -0.9 |
| LAP | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| OGI | 0.6 | 1.4 | 0.5 | 1.4 | 1.2 |
| NEU | 1.0 | 1.7 | 1.5 | 1.9 | 2.0 |
| GRE | 3.0 | 5.8 | 8.0 | 11.8 | 13.8 |
| FOU | 7.5 | 13.4 | 18.5 | 25.1 | 28.3 |
12.12.2 Off-the-Pace Chart
Accumulated stage time deltas at each split:
12.12.3 Within-Split Duration Deltas
LAP’s delta in time to complete each split section compared to other drivers:
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -1.1 | -0.7 | -0.9 | -0.2 | 0.0 |
| EVA | 0.0 | -0.2 | -0.8 | -0.1 | -0.6 |
| BRE | -0.5 | -0.4 | -0.7 | 0.2 | 0.5 |
| LAP | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| OGI | 0.6 | 0.8 | -0.9 | 0.9 | -0.2 |
| NEU | 1.0 | 0.7 | -0.2 | 0.4 | 0.1 |
| GRE | 3.0 | 2.8 | 2.2 | 3.8 | 2.0 |
| FOU | 7.5 | 5.9 | 5.1 | 6.6 | 3.2 |
12.12.4 Within-Split Pace Deltas
| code | split_1 | split_2 | split_3 | split_4 | split_N |
|---|---|---|---|---|---|
| TÄN | -0.24 | -0.17 | -0.17 | -0.03 | 0.00 |
| EVA | 0.00 | -0.05 | -0.15 | -0.02 | -0.21 |
| BRE | -0.11 | -0.10 | -0.13 | 0.03 | 0.17 |
| LAP | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 |
| OGI | 0.13 | 0.20 | -0.17 | 0.16 | -0.07 |
| NEU | 0.22 | 0.17 | -0.04 | 0.07 | 0.03 |
| GRE | 0.65 | 0.69 | 0.41 | 0.66 | 0.69 |
| FOU | 1.63 | 1.45 | 0.96 | 1.15 | 1.10 |


Dash address
Regular transaction (can be instant- or privatesend)
InstantSend transaction
PrivateSend transaction
Instant- and PrivateSend transaction
PrivateSend create denominations transaction
PrivateSend mixing transaction with 0.001 dash denominations
PrivateSend mixing transaction with 0.01 dash denominations
PrivateSend mixing transaction with 0.1 dash denominations
PrivateSend mixing transaction with 1 dash denominations
PrivateSend mixing transaction with 10 dash denominations
Generation transaction a.k.a coinbase transaction (block reward and fees)
PrivateSend collateral payment transaction
PrivateSend make collateral inputs transaction
Input
Output
Input and output
Right click a transaction or an address for options
Shortcuts:
- ctrl + left click = expand
- shift + left click = delete


In the very unlikely event of finding yourself in the Magical Domain of Numbers you will find that One is an extremely bright body of swirling, flowing lava that shimmers shades of luminescence ruby reds shot through with glimmering gold, orange and white. From a gash within the lava bright gold lava spills over the top and down the sides turning orange then crimson as it does before flowing to the bottom and back into the core. In this work, for brevity, it will be referred to unflatteringly as a red stone or even shorter as a red one. [For a description of the Domain of Numbers read 'A Deceit of Numbers']
One, (+1), (1) or 1, is used to represent one red stone
+(+1), +(1) or +1 represents a red dragon adding one red stone
Treating actions and results as the same :- (+1) = (1) = 1 = +(+1) = +(1) = +1 Note: (+1) and (1) are rarely used.


Mission to Mars
Scrape New Data
Latest Mars News
{{ mars.news_title }}
{{ mars.news_paragraph }}
Featured Mars Image
Mars Facts
{{ mars.facts | safe }}
Mars Hemisphere Images
{% for hemisphere in mars.hemisphere_images %}
{{ hemisphere.title }}
{% endfor %}
For more information, check out the following links!
Click
here
for more on Mars NASA News.
Venture to
space-facts
and learn more about Mars and other planets in our solar system.
Learn more about Mars Hemispheres
here
at the Astropedia Lunar and Planetary Catagraphic Catalog.


MESS STAFF
MANISH KUMAR
RAJESH SHARME
KUMAR SEN
KISHORE KUMAR
ANKIT BANSAL
AKSHAY SETHI
AMRIT SEN
MOHIT MISHRA
AMAN SINGH
VIKAS KUMAR
SANJAY CHATTERJI
KL RAHUL
AMAN SINGH


Type Library Revision Current Public Release (2013.2076) Keywords store Sample code /CoronaSDK/SampleCode/Store/InAppPurchase See also
This feature allows you to support In-App Purchases. Currently, only the Apple iTunes Store and the Google Play Marketplace are supported. In the future, other storefronts may be added.
For more information see the In-App Purchases (IAP) guide.


You can now unplug {{port_to_be_displayed_in_message_box.name}}. It has been closed successfully.
{{displayText}}
{{userInfo.email}}


Additional remarks for BrowserData.Warehouses.Contact
Gets the contact person for the warehouse in Globe


{include file="common:top" /}
CKG English
Student list
{if $Think.session.type == 1}
Classroom list
Dorm list
System Management
Teacher management
Course management
Classroom management
Dorm management
Mechanism management
{/if}
Close the current tab
Close other tabs
Close all tabs


--- layout: post status: publish published: true title: Making Session Data Available to Models in Ruby on Rails author: display_name: Geoff Lane login: admin email<EMAIL_ADDRESS>url: http://www.zorched.net author_login: admin author_email<EMAIL_ADDRESS>author_url: http://www.zorched.net date: '2007-05-29 20:08:57 -0400' date_gmt: '2007-05-30 02:08:57 -0400' categories: - Web - Ruby tags: - ruby-on-rails ---
Ruby on Rails is implemented as the Model View Controller (MVC) pattern. This pattern separates the context of the Web Application (in the Controller and the View) from the core Model of the application. The Model contains the Domain objects which encapsulate business logic, data retrieval, etc. The View displays information to the user and allows them to provide input to the application. The Controller handles the interactions between the View and the Model.
This separation is a very good design principle that generally helps prevent spaghetti code. Sometimes though the separation might break down.
The following is really an alternative to using the ActionController::Caching::Sweeper which is a hybrid Model/Controller scoped Observer really. It seems to me, based on the name, that the intent is much more specific than giving Observers access to session data. Which do you prefer?
Rails provides the concept of a Model Observer. This Observer allows you to write code that will respond to the lifecycle events of the Model objects. For example you could log information every time a specific kind of Model object is saved. For example you could record some information every time an Account changed using the following Observer: {% highlight ruby %} class AccountObserver < ActiveRecord::Observer def after_update(record) Audit.audit_change(record.account_id, record.new_balance) end end {% endhighlight %}
You might have noticed a limitation with the previous API though. You didn't notice? The only information passed to the Observer is the Object that is being changed. What if you want more context than this? For example, what if you want to audit not only the values that changed them, but the user who made the change? {% highlight ruby %} class AccountObserver < ActiveRecord::Observer def after_update(record) Audit.audit_change(current_user, record.account_id, record.new_balance) end end {% endhighlight %}
How do you get the current_user value? Well, you have to plan ahead a little bit. The User in this application is stored in the HTTP Session when the user is authenticated. The session isn't directly available to the Model level (including the Observers) so you have to figure out a way around this. One way to accomplish this is by using a named Thread local variable. Using Mongrel as a web server, each HTTP request is served by its own thread. That means that a variable stored as thread local will be available for the entire processing of a request.
The UserInfo module encapsulates reading and writing the User object from/to the Thread local. This module can then be mixed in with other objects for easy access. {% highlight ruby %} module UserInfo def current_user Thread.current[:user] end
def self.current_user=(user) Thread.current[:user] = user end end {% endhighlight %}A before_filter set in the ApplicationController will be called before any action is called in any controller. You can take advantage of this to copy a value out of the HTTP session and set it in the Thread local:
{% highlight ruby %} class ApplicationController < ActionController::Base include UserInfo # Pick a unique cookie name to distinguish our session data from others' session :session_key => '_app_session_id' before_filter :set_user protected def authenticate unless session[:user] redirect_to :controller => "login" return false end end
# Sets the current user into a named Thread location so that it can be accessed # by models and observers def set_user UserInfo.current_user = session[:user] end end {% endhighlight %}At any point in an Observer of a Model class that you need to have access to those values you can just mixin the helper module and then use its methods to access the data. In this final example we mixin the UserInfo module to our AccountObserver and it will now have access to the current_user method: {% highlight ruby %} class AccountObserver < ActiveRecord::Observer include UserInfo def after_update(record) Audit.audit_change(current_user, record.account_id, record.new_balance) end end {% endhighlight %}
You generally shouldn't need this kind of trick outside of an Observer. In most cases the Controller should pass all of the information needed by a Model object to it through its methods. That will allow the Model objects to interact and the Controller to do the orchestration needed. But in a few special cases, this trick might be handy.


|
BLE_API
v2.1.3
|
Functions | |
| BleStackStatus | setBLE_BleStackInit (void) |
| void | setBLE_BleStackGpio_Isr (void) |
| BleStackStatus | setBLE_BleDeviceAddr (BLE_Addr_Param *addrParam) |
| BleStackStatus | getBLE_BleDeviceAddr (BLE_Addr_Param *addrParam) |
| BleStackStatus | setBLE_AdvParam (BLE_Adv_Param *advParam) |
| BleStackStatus | setBLE_AdvData (uint8_t *advData, uint8_t length) |
| BleStackStatus | setBLE_ScanRspData (uint8_t *scanRspData, uint8_t length) |
| BleStackStatus | setBLE_AdvEnable (uint8_t hostId) |
| BleStackStatus | setBLE_AdvDisable (void) |
| BleStackStatus | setBLE_ScanParam (BLE_Scan_Param *scanParam) |
| BleStackStatus | setBLE_ScanEnable (void) |
| BleStackStatus | setBLE_ScanDisable (void) |
| BleStackStatus | getBLE_GapAdDataByAdType (BLE_Event_ScanReportParam *rptData, BLE_GAP_AD_TYPE parsingAdType, uint8_t *parsingData, uint8_t *parsingDataLen) |
| BleStackStatus | setBLE_ConnCreate (uint8_t hostId, BLE_Addr_Param *peerAddrParam, BLE_Scan_Param *scanParam, BLE_Conn_Param *connParam) |
| BleStackStatus | setBLE_ConnCreateWithSetScanParam (uint8_t hostId, BLE_Addr_Param *peerAddrParam, BLE_Conn_Param *connParam) |
| BleStackStatus | setBLE_ConnCancel (void) |
| BleStackStatus | setBLE_Disconnect (uint8_t hostId) |
| BleStackStatus | setBLE_ConnUpdate (uint8_t hostId, BLE_Conn_Param *connParam) |
| BleStackStatus | setBLE_TxPower (uint8_t power_index, BleMode bleMode) |
| BleStackStatus | setBLE_Phy (uint8_t hostId, BLE_Phy_Param *blePhy) |
| BleStackStatus | getBLE_Phy (uint8_t hostId) |
| BleStackStatus | getBLE_RssiValue (uint8_t hostId) |
| BleStackStatus | setBLE_SecurityRequest (uint8_t hostId) |
| BleStackStatus | setBLE_PairingPassKey (uint8_t hostId, uint32_t hexPasskey) |
| BleStackStatus | setBLE_IOCapabilities (BLE_IOCaps_Param *ioCapsParam) |
| BleStackStatus | setBLE_BondingFlags (BLE_BondingFlags_Param *bondingParam) |
| BleStackStatus | setBLE_DataLength (uint8_t hostId, BLE_DataLength_Param *dataLenParam) |
| BleStackStatus | setBLE_CompanyId (uint16_t companyId) |
| BleStackStatus | getBLEGATT_MtuSize (uint8_t hostId, uint16_t *mtuSize) |
| BleStackStatus | getBLEGATT_HandleNumAddr (uint8_t hostId, BleGattRole gattRole, ATTRIBUTE_BLE *attributeElement, void *handleNumAddr) |
| BleStackStatus | getBLEGATT_RestoreCCCDValueFromBond (uint8_t hostId) |
| BleStackStatus | setBLEGATT_ReparseAttDatabase (uint8_t hostId) |
| BleStackStatus | setBLEGATT_ExchangeMtuRequest (uint8_t hostId, uint16_t clientRxMtu) |
| BleStackStatus | setBLEGATT_ReadCharacteristicValue (uint8_t hostId, uint16_t hdlNum) |
| BleStackStatus | setBLEGATT_ReadLongCharacteristicValue (uint8_t hostId, uint16_t hdlNum, uint16_t Offset) |
| BleStackStatus | setBLEGATT_ConfigCCCD (uint8_t hostId, uint16_t hdlNum, BleGattCCCDValue cccdVal) |
| BleStackStatus | setBLEGATT_Write (uint8_t hostId, uint16_t hdlNum, uint8_t *data, uint16_t length) |
| BleStackStatus | setBLEGATT_WriteWithoutRsp (uint8_t hostId, uint16_t hdlNum, uint8_t *data, uint16_t length) |
| BleStackStatus | setBLEGATT_PrepareWrite (uint8_t hostId, uint16_t hdlNum, uint8_t *data, uint16_t length) |
| BleStackStatus | setBLEGATT_ExecuteWrite (uint8_t hostId, uint16_t hdlNum, uint8_t flag) |
| BleStackStatus | setBLEGATT_PreferredMtuSize (uint8_t hostId, uint16_t preferredRxMtu) |
| BleStackStatus | setBLEGATT_ReadByTypeRsp (uint8_t hostId, uint16_t hdlNum, uint8_t *data, uint16_t length) |
| BleStackStatus | setBLEGATT_ReadRsp (uint8_t hostId, uint16_t hdlNum, uint8_t *data, uint16_t length) |
| BleStackStatus | setBLEGATT_GeneralReadRsp (uint8_t hostId, uint16_t hdlNum, uint8_t *data, uint16_t length) |
| BleStackStatus | setBLEGATT_ReadBlobRsp (uint8_t hostId, uint16_t hdlNum, uint8_t *data, uint16_t length) |
| BleStackStatus | setBLEGATT_Indication (uint8_t hostId, uint16_t hdlNum, uint8_t *data, uint16_t length) |
| BleStackStatus | setBLEGATT_Notification (uint8_t hostId, uint16_t hdlNum, uint8_t *data, uint16_t length) |
| BleStackStatus | setBLEGATT_ErrorRsp (uint8_t hostId, uint16_t hdlNum, BleAttOpcode opcode, BleAttErrorRsp errRsp) |
| BleStackStatus getBLE_BleDeviceAddr | ( | BLE_Addr_Param * | addrParam | ) |
Get BLE Device Address and Device Address Type
This function is used to get BLE Local Device Address and Device Address Type.
| [out] | addrParam | : a pointer to local device BLE address and BLE address type. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus getBLE_GapAdDataByAdType | ( | BLE_Event_ScanReportParam * | rptData, |
| BLE_GAP_AD_TYPE | parsingAdType, | ||
| uint8_t * | parsingData, | ||
| uint8_t * | parsingDataLen | ||
| ) |
Get BLE Advertising Parsing Data By Advertising Data Type
| [in] | rptData | : scanned advertising data to parse. |
| [in] | parsingAdType | : parsing advertising type. |
| [out] | parsingData | : a pointer to the parsing data. |
| [out] | parsingDataLen | : a pointer to the length of parsing data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter which means error advertising data or there is no data of requested advertising data type. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus getBLE_Phy | ( | uint8_t | hostId | ) |
Get BLE TX/ RX PHY
| [in] | hostId | : the link's host id. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus getBLE_RssiValue | ( | uint8_t | hostId | ) |
Get BLE RSSI Value
| [in] | hostId | : the link's host id. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus getBLEGATT_HandleNumAddr | ( | uint8_t | hostId, |
| BleGattRole | gattRole, | ||
| ATTRIBUTE_BLE * | attributeElement, | ||
| void * | handleNumAddr | ||
| ) |
Get BLE GATT Handle Numbers
| [in] | hostId | : the link's host id. |
| [in] | gattRole | : GATT role |
| [in] | attributeElement | : a pointer to service attribute element. |
| [out] | handleNumAddr | : a point to handle number table. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameters. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus getBLEGATT_MtuSize | ( | uint8_t | hostId, |
| uint16_t * | mtuSize | ||
| ) |
Get BLE GATT MTU Size
| [in] | hostId | : the link's host id. |
| [out] | mtuSize | : MTU size. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus getBLEGATT_RestoreCCCDValueFromBond | ( | uint8_t | hostId | ) |
BLE GATT Get Characteristic Values from Bonded space
| [in] | hostId | : the link's host id. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_AdvData | ( | uint8_t * | advData, |
| uint8_t | length | ||
| ) |
Set BLE Advertising Data
||--------------------------------------------------------------------------------------------------------------------------------------|| || <length octets = (1+alength) octets> || || advData || ||--------------------------------------------------------------------------------------------------------------------------------------|| || <1 octet> || <alength octets = (1+slength_1)+...+(1+slength_N) octets> || ||BLE advertising data length|| BLE advertising data || ||--------------------------------------------------------------------------------------------------------------------------------------|| || || AD Structure 1 || ........ || AD Structure N || ||--------------------------------------------------------------------------------------------------------------------------------------|| || ||<1 octet>|| <slength_1 octets> || ||<1 octet>|| <slength_N octets> || || ||slength_1|| Data || ........ ||slength_N|| Data || ||--------------------------------------------------------------------------------------------------------------------------------------|| || || ||<1 octets>||<(slength_1-1) octets>|| || ||<1 octets>||<(slength_N-1) octets>|| || || || AD Type || AD Data || ........ || || AD Type || AD Data || ||--------------------------------------------------------------------------------------------------------------------------------------||
| [in] | advData | : a pointer to advertising data. |
| [in] | length | : length of advData. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_AdvDisable | ( | void | ) |
Set BLE Stop Advertising
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or can ONLY be set while in advertising state. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_AdvEnable | ( | uint8_t | hostId | ) |
Set BLE Start Advertising
| [in] | hostId | : the link's host ID or set to BLE_HOSTID_RESERVED to enable ADV_TYPE_ADV_NONCONN_IND or ADV_TYPE_SCAN_IND advertisement. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported or only ADV_TYPE_ADV_NONCONN_IND or ADV_TYPE_SCAN_IND advertisement can be enabled. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : Invalid state usually happens in
|
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_AdvParam | ( | BLE_Adv_Param * | advParam | ) |
Set BLE Advertising Parameter
| [in] | advParam | : a pointer to advertising parameter |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or can ONLY be set while the device is not in advertisement state. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_BleDeviceAddr | ( | BLE_Addr_Param * | addrParam | ) |
Set BLE Device Address and Device Address Type
This function is used to set BLE Local Device Address and Device Address Type.
| [in] | addrParam | : a pointer to local device BLE address and BLE address type |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or can ONLY be set while in standby state. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| void setBLE_BleStackGpio_Isr | ( | void | ) |
Set BLE Stack Handle Interrupt ISR
This function is used to handle BLE stack interrupt.
| BleStackStatus setBLE_BleStackInit | ( | void | ) |
Set BLE Stack Initialization
This function is used to initial BLE stack.
| BLESTACK_STATUS_ERR_INVALID_STATE | : RF Phy has NOT initialized. |
| BLESTACK_STATUS_ERR_INVALID_HOSTCOUNT | : Can ONLY be set while in standby state. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_BondingFlags | ( | BLE_BondingFlags_Param * | bondingParam | ) |
Set BLE Bonding Flags
| [in] | bondingParam | : a pointer to bonding flags. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : Invalid state usually happens in BLE stack has not initialized or BLE state is not in standby mode. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_CompanyId | ( | uint16_t | companyId | ) |
Set BLE Company ID.
| [in] | companyId | : company id. |
| BLESTACK_STATUS_SUCCESS | : Setting Completed. |
| BleStackStatus setBLE_ConnCancel | ( | void | ) |
Set BLE Cancel the On-going Connection Procedure
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or can ONLY be set while the connection is establishing. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_ConnCreate | ( | uint8_t | hostId, |
| BLE_Addr_Param * | peerAddrParam, | ||
| BLE_Scan_Param * | scanParam, | ||
| BLE_Conn_Param * | connParam | ||
| ) |
Set BLE Create Connection
| [in] | hostId | : the link's host id. |
| [in] | peerAddrParam | : a pointer to the target peer device address and address type. |
| [in] | scanParam | : a pointer to scan parameter. |
| [in] | connParam | : a pointer to connection parameter. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : Invalid state usually happens in
|
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_ConnCreateWithSetScanParam | ( | uint8_t | hostId, |
| BLE_Addr_Param * | peerAddrParam, | ||
| BLE_Conn_Param * | connParam | ||
| ) |
Set BLE Create Connection with the setting of scan parameters by setBLE_ScanParam
| [in] | hostId | : the link's host id. |
| [in] | peerAddrParam | : a pointer to the target peer device address and address type. |
| [in] | connParam | : a pointer to connection parameter. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : Invalid state usually happens in
|
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_ConnUpdate | ( | uint8_t | hostId, |
| BLE_Conn_Param * | connParam | ||
| ) |
BLE Update Connection Parameter
| [in] | connId | : the link's Host id. |
| [in] | connParam | : a pointer to connection parameter. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_ERR_TIMER_BUSY | : The connection parameter update timer is busy. Meaning there are still outstanding connection parameter update events. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_DataLength | ( | uint8_t | hostId, |
| BLE_DataLength_Param * | dataLenParam | ||
| ) |
Set BLE Data Length Update
| [in] | hostId | : the link's host id. |
| [in] | dataLenParam | : a pointer to data length parameters. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_Disconnect | ( | uint8_t | hostId | ) |
Set BLE Terminate the Connection
| [in] | HostId | : the link's host id. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_IOCapabilities | ( | BLE_IOCaps_Param * | ioCapsParam | ) |
Set BLE IO Capabilities
| [in] | ioCapsParam | : a pointer to IO capabilities parameter. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : Invalid state usually happens in BLE stack has not initialized or BLE state is not in standby mode. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_PairingPassKey | ( | uint8_t | hostId, |
| uint32_t | hexPasskey | ||
| ) |
Set BLE Pairing PassKey Value
Set PassKey value to do pairing process.
| [in] | hostId | : the link's host id. |
| [in] | hexPasskey | : passkey for 6-digit code. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_Phy | ( | uint8_t | hostId, |
| BLE_Phy_Param * | blePhy | ||
| ) |
Set BLE TX/ RX PHY
| [in] | hostId | : the link's host id. |
| [in] | blePhy | : a pointer to requested blePhy. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_ScanDisable | ( | void | ) |
Set BLE Stop Scanning
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or can ONLY be set while in scanning state. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_ScanEnable | ( | void | ) |
Set BLE Start Scanning
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or already in scanning mode. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_ScanParam | ( | BLE_Scan_Param * | scanParam | ) |
Set BLE Scanning Parameter
| [in] | scanParam | : a pointer to scanning parameter. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized can ONLY be set while the device is not in scanning state. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_ScanRspData | ( | uint8_t * | scanRspData, |
| uint8_t | length | ||
| ) |
Set BLE Scan Response Data
||----------------------------------------------------------------------------------------------------------------------------------------|| || <length octets = (1+alength) octets> || || scanRspData || ||----------------------------------------------------------------------------------------------------------------------------------------|| || <1 octet> || <alength octets = (1+slength_1)+...+(1+slength_N) octets> || ||BLE scan response data length|| BLE scan response data || ||----------------------------------------------------------------------------------------------------------------------------------------|| || || AD Structure 1 || ........ || AD Structure N || ||----------------------------------------------------------------------------------------------------------------------------------------|| || ||<1 octet>|| <slength_1 octets> || ||<1 octet>|| <slength_N octets> || || ||slength_1|| Data || ........ ||slength_N|| Data || ||----------------------------------------------------------------------------------------------------------------------------------------|| || || ||<1 octets>||<(slength_1-1) octets>|| || ||<1 octets>||<(slength_N-1) octets>|| || || || AD Type || AD Data || ........ || || AD Type || AD Data || ||----------------------------------------------------------------------------------------------------------------------------------------||
| [in] | scanRspData | : a pointer to scan response data. |
| [in] | length | : BLE scan response data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_SecurityRequest | ( | uint8_t | hostId | ) |
BLE Security Request
| [in] | hostId | : the link's host id. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : Invalid BLE state, usually happens in
|
| BLESTACK_STATUS_ERR_TIMER_BUSY | : The Security command timer is busy. Meaning there are still unfinished security events. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLE_TxPower | ( | uint8_t | power_index, |
| BleMode | bleMode | ||
| ) |
Set BLE TX Power
| [in] | power_index | : requested TX power level in dBm, enter the index of TX power register table. The TX power register table please refer to "porting_rfpower.c". |
| [in] | bleMode | : BLE mode.
|
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or in invalid BLE state for central role. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ConfigCCCD | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| BleGattCCCDValue | cccdVal | ||
| ) |
BLE GATT Configure CCCD(Client Characteristic Configuration Descriptor)
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : cccd handle number. |
| [in] | cccdVal | : CCCD value |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_SEQUENTIAL_PROTOCOL_VIOLATION | : Another GATT request already in progress please wait and retry. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ErrorRsp | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| BleAttOpcode | opcode, | ||
| BleAttErrorRsp | errRsp | ||
| ) |
BLE GATT Set Error Response
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : attribute handle in error. |
| [in] | opcode | : attribute opcode in error. |
| [in] | errRsp | : error code. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ExchangeMtuRequest | ( | uint8_t | hostId, |
| uint16_t | clientRxMtu | ||
| ) |
Set BLE Exchange MTU Request
| [in] | hostId | : the link's host id. |
| [in] | clientRxMtu | : client maximum receive MTU size. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_CMD | : Invalid command, usually happens in requesting the command over 1 times. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ExecuteWrite | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t | flag | ||
| ) |
BLE GATT Execute Write A Characteristic Value to A Server Data Queue (Execute Write Request)
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | flag | : 0x00: all pending prepare write values shall be discarded for this client, 0x01: writ values that were queued by the previous prepare write requests. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_SEQUENTIAL_PROTOCOL_VIOLATION | : Another GATT request already in progress please wait and retry. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_GeneralReadRsp | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t * | data, | ||
| uint16_t | length | ||
| ) |
BLE GATT Automatically Set Characteristic Read Response or Read By Type Response
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | data | : data to set. |
| [in] | length | : the length of data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_Indication | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t * | data, | ||
| uint16_t | length | ||
| ) |
BLE GATT Indicate the Attribute Value
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | data | : data to transmit. |
| [in] | length | : the length of data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_SEQUENTIAL_PROTOCOL_VIOLATION | : Another GATT request already in progress please wait and retry. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter, please check the maximum length of data. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_Notification | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t * | data, | ||
| uint16_t | length | ||
| ) |
BLE GATT Notify the Attribute Value
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | data | : data to transmit. |
| [in] | length | : the length of data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter, please check the maximum length of data. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_PreferredMtuSize | ( | uint8_t | hostId, |
| uint16_t | preferredRxMtu | ||
| ) |
Set BLE Preferred MTU Size
| [in] | hostId | : the link's host id. |
| [in] | preferredRxMtu | : preferred Rx MTU size. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Error host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or can ONLY be set while in connection state. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_PrepareWrite | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t * | data, | ||
| uint16_t | length | ||
| ) |
BLE GATT Prepare Write A Characteristic Value to A Server Data Queue (Prepare Write Request)
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | data | : data to transmit (with a 16bit Value Offset at beginning). i.e. offset = 0x01, data = [0x0A,0x0B] data = [0x01,0x00,0x0A,0x0B] |
| [in] | length | : the length of data (include the 16bit Value Offset, 2 byte). |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_SEQUENTIAL_PROTOCOL_VIOLATION | : Another GATT request already in progress please wait and retry. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter, please check the maximum length of data. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ReadBlobRsp | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t * | data, | ||
| uint16_t | length | ||
| ) |
BLE GATT Set Characteristic Read Blob Response
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | data | : data to set. |
| [in] | length | : the length of data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ReadByTypeRsp | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t * | data, | ||
| uint16_t | length | ||
| ) |
BLE GATT Set Characteristic Read By Type Response
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | data | : data to set. |
| [in] | length | : the length of data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ReadCharacteristicValue | ( | uint8_t | hostId, |
| uint16_t | hdlNum | ||
| ) |
BLE GATT Read Characteristic Value (Read Request)
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Invalid GATT role or no reading attribute definition, only supports for client. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_SEQUENTIAL_PROTOCOL_VIOLATION | : Another GATT request already in progress please wait and retry. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ReadLongCharacteristicValue | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint16_t | Offset | ||
| ) |
BLE GATT Read Long Characteristic Value (Read Blob Request)
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | hdlNum | : characteristic value handle. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Invalid GATT role or no reading attribute definition, only supports for client. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_SEQUENTIAL_PROTOCOL_VIOLATION | : Another GATT request already in progress please wait and retry. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ReadRsp | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t * | data, | ||
| uint16_t | length | ||
| ) |
BLE GATT Set Characteristic Read Response
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | data | : data to set. |
| [in] | length | : the length of data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_ReparseAttDatabase | ( | uint8_t | hostId | ) |
BLE Re-parse attribute database
| [in] | hostId | the link's host id. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Already in Attribute database parsing process. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_Write | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t * | data, | ||
| uint16_t | length | ||
| ) |
BLE GATT Write A Characteristic Value to A Server (Write Request)
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | data | : data to transmit. |
| [in] | length | : the length of data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_SEQUENTIAL_PROTOCOL_VIOLATION | : Another GATT request already in progress please wait and retry. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter, please check the maximum length of data. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |
| BleStackStatus setBLEGATT_WriteWithoutRsp | ( | uint8_t | hostId, |
| uint16_t | hdlNum, | ||
| uint8_t * | data, | ||
| uint16_t | length | ||
| ) |
BLE GATT Write A Characteristic Value to A Server (Write Without Response Request)
| [in] | hostId | : the link's host id. |
| [in] | hdlNum | : characteristic value handle. |
| [in] | data | : data to transmit. |
| [in] | length | : the length of data. |
| BLESTACK_STATUS_ERR_NOT_SUPPORTED | : Command not supported. |
| BLESTACK_STATUS_ERR_INVALID_HOSTID | : Invalid host id. |
| BLESTACK_STATUS_ERR_INVALID_STATE | : BLE stack has not initialized or there is no connection established with the host id. |
| BLESTACK_STATUS_ERR_DB_PARSING_IN_PROGRESS | : Service/ characteristic discovering or authentication/ authorization have not completed. |
| BLESTACK_STATUS_ERR_INVALID_HANDLE | : Invalid handle. |
| BLESTACK_STATUS_ERR_INVALID_PARAM | : Invalid parameter, please check the maximum length of data. |
| BLESTACK_STATUS_ERR_BUSY | : Message queue buffer full. |
| BLESTACK_STATUS_SUCCESS | : Setting success. |


While DataTables has a wide range of options and data type support built in, it can never cater for every type of data out of the box. For this reason, DataTables exposes an extension API which allows you, the developers using DataTables, to add support for your own data types, searching, ordering and feature plug-ins.
The examples in this section show how plug-ins can be used and developed for DataTables.


# kind-of [![NPM version](https://badge.fury.io/js/kind-of.svg)](http://badge.fury.io/js/kind-of) [![Build Status](https://travis-ci.org/jonschlinkert/kind-of.svg)](https://travis-ci.org/jonschlinkert/kind-of)
> Get the native type of a value.
[](#optimizations)**What makes this so fast?**
## Install
Install with [npm](https://www.npmjs.com/)
`sh
$ npm i kind-of --save
`
Install with [bower](http://bower.io/)
`sh
$ bower install kind-of --save
`
## Usage
> es5, browser and es6 ready
```js var kindOf = require(‘kind-of’);
kindOf(undefined); //=> ‘undefined’
kindOf(null); //=> ‘null’
kindOf(true); //=> ‘boolean’
kindOf(false); //=> ‘boolean’
kindOf(new Boolean(true)); //=> ‘boolean’
kindOf(new Buffer(‘’)); //=> ‘buffer’
kindOf(42); //=> ‘number’
kindOf(new Number(42)); //=> ‘number’
kindOf(‘str’); //=> ‘string’
kindOf(new String(‘str’)); //=> ‘string’
kindOf(arguments); //=> ‘arguments’
kindOf({}); //=> ‘object’
kindOf(Object.create(null)); //=> ‘object’
kindOf(new Test()); //=> ‘object’
kindOf(new Date()); //=> ‘date’
kindOf([]); //=> ‘array’
kindOf([1, 2, 3]); //=> ‘array’
kindOf(new Array()); //=> ‘array’
kindOf(/[sS]+/); //=> ‘regexp’
kindOf(new RegExp(‘^’ + ‘foo$’)); //=> ‘regexp’
kindOf(function () {}); //=> ‘function’
kindOf(function * () {}); //=> ‘function’
kindOf(new Function()); //=> ‘function’
kindOf(new Map()); //=> ‘map’
kindOf(new WeakMap()); //=> ‘weakmap’
kindOf(new Set()); //=> ‘set’
kindOf(new WeakSet()); //=> ‘weakset’
kindOf(Symbol(‘str’)); //=> ‘symbol’ ```
## Related projects
- [is-number](https://github.com/jonschlinkert/is-number): Returns true if the value is a number. comprehensive tests.
- [isobject](https://github.com/jonschlinkert/isobject): Returns true if the value is an object and not an array or null.
- [is-primitive](https://github.com/jonschlinkert/is-primitive): Returns true if the value is a primitive.
- [is-plain-object](https://github.com/jonschlinkert/is-plain-object): Returns true if an object was created by the Object constructor.
- [is-match](https://github.com/jonschlinkert/is-match): Create a matching function from a glob pattern, regex, string, array or function.
## Benchmarks
Benchmarked against [typeof](http://github.com/CodingFu/typeof) and [type-of](https://github.com/ForbesLindesay/type-of). Note that performaces is slower for es6 features Map, WeakMap, Set and WeakSet.
current x 23,329,397 ops/sec ±0.82% (94 runs sampled) lib-type-of x 4,170,273 ops/sec ±0.55% (94 runs sampled) lib-typeof x 9,686,935 ops/sec ±0.59% (98 runs sampled)
- #2: boolean
- current x 27,197,115 ops/sec ±0.85% (94 runs sampled) lib-type-of x 3,145,791 ops/sec ±0.73% (97 runs sampled) lib-typeof x 9,199,562 ops/sec ±0.44% (99 runs sampled)
- #3: date
- current x 20,190,117 ops/sec ±0.86% (92 runs sampled) lib-type-of x 5,166,970 ops/sec ±0.74% (94 runs sampled) lib-typeof x 9,610,821 ops/sec ±0.50% (96 runs sampled)
- #4: function
- current x 23,855,460 ops/sec ±0.60% (97 runs sampled) lib-type-of x 5,667,740 ops/sec ±0.54% (100 runs sampled) lib-typeof x 10,010,644 ops/sec ±0.44% (100 runs sampled)
- #5: null
- current x 27,061,047 ops/sec ±0.97% (96 runs sampled) lib-type-of x 13,965,573 ops/sec ±0.62% (97 runs sampled) lib-typeof x 8,460,194 ops/sec ±0.61% (97 runs sampled)
- #6: number
- current x 25,075,682 ops/sec ±0.53% (99 runs sampled) lib-type-of x 2,266,405 ops/sec ±0.41% (98 runs sampled) lib-typeof x 9,821,481 ops/sec ±0.45% (99 runs sampled)
- #7: object
- current x 3,348,980 ops/sec ±0.49% (99 runs sampled) lib-type-of x 3,245,138 ops/sec ±0.60% (94 runs sampled) lib-typeof x 9,262,952 ops/sec ±0.59% (99 runs sampled)
- #8: regex
- current x 21,284,827 ops/sec ±0.72% (96 runs sampled) lib-type-of x 4,689,241 ops/sec ±0.43% (100 runs sampled) lib-typeof x 8,957,593 ops/sec ±0.62% (98 runs sampled)
- #9: string
- current x 25,379,234 ops/sec ±0.58% (96 runs sampled) lib-type-of x 3,635,148 ops/sec ±0.76% (93 runs sampled) lib-typeof x 9,494,134 ops/sec ±0.49% (98 runs sampled)
- #10: undef
- current x 27,459,221 ops/sec ±1.01% (93 runs sampled) lib-type-of x 14,360,433 ops/sec ±0.52% (99 runs sampled) lib-typeof x 23,202,868 ops/sec ±0.59% (94 runs sampled)
## Optimizations
In 7 out of 8 cases, this library is 2x-10x faster than other top libraries included in the benchmarks. There are a few things that lead to this performance advantage, none of them hard and fast rules, but all of them simple and repeatable in almost any code library:
- Optimize around the fastest and most common use cases first. Of course, this will change from project-to-project, but I took some time to understand how and why typeof checks were being used in my own libraries and other libraries I use a lot.
- Optimize around bottlenecks - In other words, the order in which conditionals are implemented is significant, because each check is only as fast as the failing checks that came before it. Here, the biggest bottleneck by far is checking for plain objects (an object that was created by the Object constructor). I opted to make this check happen by process of elimination rather than brute force up front (e.g. by using something like val.constructor.name), so that every other type check would not be penalized it.
- Don’t do uneccessary processing - why do .slice(8, -1).toLowerCase(); just to get the word regex? It’s much faster to do if (type === ‘[object RegExp]’) return ‘regex’
## Running tests
Install dev dependencies:
`sh
$ npm i -d && npm test
`
## Contributing
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/jonschlinkert/kind-of/issues/new)
## Author
Jon Schlinkert
- [github/jonschlinkert](https://github.com/jonschlinkert)
- [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
## License
Copyright © 2014-2015 [Jon Schlinkert](https://github.com/jonschlinkert) Released under the MIT license.
_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on May 31, 2015._