Home
last modified time | relevance | path

Searched refs:a (Results 1 – 25 of 68) sorted by relevance

123

/chre-3.4.0/external/kiss_fft/
D_kiss_fft_guts.h59 # define CHECK_OVERFLOW_OP(a,op,b) \ argument
60 if ( (SAMPPROD)(a) op (SAMPPROD)(b) > SAMP_MAX || (SAMPPROD)(a) op (SAMPPROD)(b) < SAMP_MIN ) { \
61 …ING:overflow @ " __FILE__ "(%d): (%d " #op" %d) = %ld\n",__LINE__,(a),(b),(SAMPPROD)(a) op (SAMPPR…
63 #define CHECK_OVERFLOW(a, op, b) {} argument
68 # define smul(a,b) ( (SAMPPROD)(a)*(b) ) argument
71 # define S_MUL(a,b) sround( smul(a,b) ) argument
73 # define C_MUL(m,a,b) \ argument
74 do{ (m).r = sround( smul((a).r,(b).r) - smul((a).i,(b).i) ); \
75 (m).i = sround( smul((a).r,(b).i) + smul((a).i,(b).r) ); }while(0)
90 # define S_MUL(a,b) ( (a)*(b) ) argument
[all …]
Dkissfft.hh114 void C_ADD( cpx_type & c,const cpx_type & a,const cpx_type & b) { c=a+b;} in C_ADD() argument
115 void C_MUL( cpx_type & c,const cpx_type & a,const cpx_type & b) { c=a*b;} in C_MUL() argument
116 void C_SUB( cpx_type & c,const cpx_type & a,const cpx_type & b) { c=a-b;} in C_SUB() argument
117 void C_ADDTO( cpx_type & c,const cpx_type & a) { c+=a;} in C_ADDTO() argument
119 scalar_type S_MUL( const scalar_type & a,const scalar_type & b) { return a*b;} in S_MUL() argument
120 scalar_type HALF_OF( const scalar_type & a) { return a*.5;} in HALF_OF() argument
121 void C_MULBYSCALAR(cpx_type & c,const scalar_type & a) {c*=a;} in C_MULBYSCALAR() argument
/chre-3.4.0/util/include/chre/util/
Dmacros.h59 #define MIN(a, b) ((a) < (b) ? (a) : (b))
63 #define MAX(a, b) ((a) > (b) ? (a) : (b))
/chre-3.4.0/doc/
Dcompatibility.md5 Compatibility is an important attribute of CHRE, which is accomplished through a
9 * **Code compatibility**, which means that a nanoapp can be recompiled to run on
10 a new platform without needing any code changes. CHRE provides this
11 cross-device compatibility for all nanoapps which are written in a supported
16 * **Binary compatibility**, which means that a nanoapp binary which has been
17 compiled against a particular version of the CHRE API can run on a CHRE
18 framework implementation which was compiled against a different version of the
20 *not* mean that a nanoapp compiled against one version of the CHRE API can be
21 compiled against a different version of the CHRE API without compiler errors -
31 The CHRE API is a native C API that defines the interface between a nanoapp and
[all …]
Dnanoapp_overview.md11 low-power hardware. Typically, nanoapps integrate with a component on the
12 Android side, such as a privileged APK, in order to provide complete end-to-end
19 which is standardized across all CHRE implementations. This means that a nanoapp
23 a nanoapp does not need to be recompiled to run on a device that exposes a newer
29 nanoapps. In other words, the system only runs nanoapps that possess a digital
31 hold a special privileged/same-signature permission (`ACCESS_CONTEXT_HUB`) to be
36 ## Methods for Loading a Nanoapp
39 into a device through a few methods, each of which has pros and cons elaborated
61 Some boilerplate is needed to enable nanoapp to be built as a static nanoapp -
67 Preloaded nanoapps are built as a separate binary from the CHRE framework, but
[all …]
Dvendor_extensions.md7 steps must be performed. At a high-level, to add a new vendor-specific API to
10 1. Define new APIs in a header that can be referenced by both platform CHRE
13 2. Expose the new APIs from the framework to nanoapps, and connect them to a new
21 `chre/wifi.h` and `WifiRequestManager`, and follow a similar design where
27 must not use the plain ‘chre’ prefix followed by a capitalized letter. Instead,
29 example, if your company name is XYZ Semiconductor and you’re defining a new
30 ‘widget’ API, it’s recommended to use a naming scheme like
37 where vendors may wish or need to define a custom value in an existing field. To
39 only use values within vendor-reserved ranges. If you would like to add a new
40 value to an existing field for a vendor extension and a vendor-reserved range
[all …]
Dnanoapp_developer_guide.md6 a device requires cooperation of the device manufacturer, because CHRE is a
8 it typically has tight resource constraints. This section assumes you have a
9 basic understanding of what a nanoapp is (if not, see the Nanoapp Overview
15 When starting a new nanoapp, it’s helpful to start with the skeleton of an
18 can be outside of the `system/chre` project, for example in a vendor-specific
21 If you don’t plan to use this nanoapp as a *static nanoapp* (see the Nanoapp
26 ### Picking a Nanoapp ID
28 Nanoapps are uniquely identified by a 64-bit number. The most significant 5
38 Be sure to pick a unique nanoapp ID when creating a new nanoapp.
40 ### Picking a Language
[all …]
Dporting_guide.md11 This section gives an overview of the steps one should take to add support for a
30 strictly necessary for a given platform to use it.
35 of a given platform, for example the APIs which are used to access functionality
37 layer for a given device may be composed of files from multiple
45 `platform/<platform_name>/<file_name>.cc`, but may appear in a subdirectory
59 Partners who add support for a new platform are recommended to upstream their
64 addressed in a timely fashion, and enables you to receive useful code review
68 If some parts of a platform’s CHRE implementation must be kept closed source,
69 then it is recommended to be kept in a separate Git project (under vendor/ in
76 When starting to add support for a new platform in the CHRE framework, it’s
[all …]
Dnanoapp_clients.md5 Code that interacts with a nanoapp, for example within an Android app, is known
9 Context Hub HAL). Most clients, especially those with a UI component, should use
10 the Java method, unless a vendor-partition native implementation is required
11 (e.g. if interacting with a nanoapp is used to implement a different HAL, or if
14 Interaction between nanoapps and clients occur through a flexible message
16 how to design a protocol for use with a nanoapp.
38 `Context.getSystemService(ContextHubManager.class)` - this will produce a
41 2. Retrieve a reference to a Context Hub via
45 4. If the nanoapp was found, create a `ContextHubClient` object through
50 `ContextHubClientCallback` (requires a persistent process), or
Dframework_build.md5 The CHRE build system is based on Make, and uses a set of Makefiles that allow
6 building the CHRE framework for a variety of hardware and software architectures
9 recommended), by abstracting out key operations to a few Make or environment
17 By default, the output of the build is linked into both a static archive
18 `libchre.a` and a shared library `libchre.so`, though generally only one of the
23 The CHRE build system was originally designed around the philosophy that a
26 build system for multi-threaded builds and also promotes a level of separation
36 linker flags are compatible with all toolchains. For example: if a target uses a
48 when adding support for a new build target.
62 Architecture (ISA) and related compiler configuration to create a binary for the
[all …]
Dframework_overview.md15 CHRE framework") is developed primarily in C++11 using a modular object-oriented
19 in more than one thread at a time, so CHRE is structured around a single thread
21 that support CHRE. The EventLoopManager is a Singleton object which owns the
25 To get a better understanding of code structure and how it weaves between common
26 and platform-specific components, it is helpful to trace the flow through a few
31 ## Loading a nanoapp via the HAL
33 There are multiple ways by which a nanoapp can be loaded (see the relevant
35 loading a nanoapp that has been passed in via the Context Hub HAL's
39 processor where CHRE is running using a platform-specific method. While the
54 object as needed, and passes it to `EventLoop::startNanoapp()` - this marks a
[all …]
Dframework_testing.md13 platform-specific components likely aren’t compilable/available on a host
16 In order to write new tests, add a test source file under the test directory in
27 development of PAL implementations, typically done by a chip vendor partner.
41 development for manual verification of a feature area. For example, SensorWorld
42 attempts to samples from sensors and outputs to the log. It also offers a
53 validation of a CHRE implementation, by using the Java APIs in Android to load
/chre-3.4.0/chpp/
DREADME.md3 …ontext Hub Runtime Environment (CHRE) is a feature built into Android which can run background app…
5a serial link (e.g. UART, SPI) and enables an Android Context Hub (CHRE) running on a dedicated lo…
7 CHPP is a communication protocol that spans from the Transport to the Application layer. The CHPP T…
11a number of services for the most commonly used sensors and peripherals, and also allows vendor-sp…
19a peer, meaning there are no role differences. However, within the application layer, one endpoint…
23 …nally supports explicit NACKs. The timeout is implementation dependent with a recommended value of…
29 …are numbered with 0 being the least significant bit and 7 being the most significant bit in a byte.
33a 2-byte preamble (packet start delimiter) and 8 bytes of header information. The header is follow…
50a two-byte preamble as the packet start delimiter. If the receiving side is not actively within a
54 Up to 8 flags are supported as a bitmap as follows
[all …]
/chre-3.4.0/platform/shared/idl/
Dhost_messages.fbs5 // You may obtain a copy of the License at
17 /// Represents a message sent to/from a nanoapp from/to a client on the host
23 /// this message. The default value is a special value defined in the HAL and
30 /// List of Android permissions that cover the contents of a message from a
37 /// For messages from a nanoaapp to the host, this must be a superset of
44 /// The name of the hub. Nominally a UTF-8 string, but note that we're not
64 /// Maximum size message that can be sent to a nanoapp
83 /// Whether the nanoapp is a pre-loaded "system" nanoapp, i.e. one that should
100 /// Represents a request for loading a nanoapp.
101 /// The nanaopp can either be requested to be loaded via a file or via a buffer.
[all …]
/chre-3.4.0/chpp/include/chpp/
Dmacros.h39 #define MIN(a, b) ((a) < (b) ? (a) : (b))
43 #define MAX(a, b) ((a) > (b) ? (a) : (b))
/chre-3.4.0/apps/test/common/proto/
Dping_test.proto14 // with a message, with options specified by this command.
19 // use this message to report a failure.
23 // C2H: A message indicating a response from a ping command.
Dchre_cross_validation_sensor.proto17 // C2H: Data payload to be validated. This is a batch of data exactly as it
18 // was received from a CHRE API.
22 // H2C: Host asking nanoapp for information about a given sensor.
26 // C2H: Response to a information request for a sensor.
27 // Payload must be a SensorInfoResponse message.
59 * Response to a SensorInfoCommand containing data about the requested sensor.
Dchre_settings_test.proto20 // C2H: A message indicating a previously received SETUP step from a
47 // Sets up the nanoapp for an upcoming START test step (e.g. perform a WiFi
48 // scan for a WiFi RTT test).
50 // Begin the test (after optionally receiving a SETUP test step).
Dchre_audio_concurrency_test.proto15 // H2C: A message to start a test step.
24 // data has been received, after a previously received ENABLE_AUDIO
25 // step from a TEST_COMMAND message. No payload.
29 // A message to start a test step.
/chre-3.4.0/chpp/api_parser/
DREADME.md3 Since one of the main use cases of CHPP is to support remoting a CHRE PAL
4 implementation to a peripheral component, we leverage the CHRE PAL API
17 _TL;DR: The CHPP format is just a packed and flattened version of the CHRE
22 the wire to a different processor in the system. The general process for
23 generating a serializable CHPP version of a CHRE structure is as follows:
28 a ChppOffset which describes the location in the payload where the nested
34 ChppOffset is a collection of a 16-bit offset from the beginning of the payload,
35 and a length. While we could implicitly derive the offset, the length cannot
40 This approach allows for a highly optimized, in-place encoding and decoding that
48 example, if a structure has a pointer to an array, then the array appears
[all …]
/chre-3.4.0/apps/test/chqts/
DREADME.md2 Hub Qualification Test Suite (CHQTS). CHQTS is a test suite used to validate
3 the proper functionality of a CHRE implementation as specified in the API
/chre-3.4.0/std_overrides/
DREADME.md3 CHRE provides nanoapps with a minimal list of overrides to standard library
4 functions that are not supported by CHRE, but can be redirected to a supported
13 developers need to enable it by setting a flag in the nanoapp Makefile:
/chre-3.4.0/apps/power_test/common/idl/
Dchre_power_test.fbs5 // You may obtain a copy of the License at
42 /// Represents a message to ask the nanoapp to create a timer that wakes up at
75 /// Represents a message to ask the nanoapp to start or stop WiFi scanning and
85 /// Represents a message to ask the nanoapp to start or stop Gnss location
93 /// Represents a message to ask the nanoapp to start or stop querying the cell
100 /// Represents a message to ask the nanoapp to start / stop requesting Audio
132 /// Represents a message to ask the nanoapp to start / stop sampling / batching
133 /// a given sensor
141 /// Represents a message to enable / disable break-it mode inside the nanoapp.
154 /// Represents a message to ask the nanoapp to start or stop Gnss measurement
/chre-3.4.0/pal/doc/
DDoxyfile4 # doxygen (www.doxygen.org) for a project.
6 # All text after a double hash (##) is considered a comment and is placed in
9 # All text after a single hash (#) is considered a comment and will be ignored.
29 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
32 # title of most generated pages and in a few other places.
37 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
44 # for a project that appears at the top of each page and should give viewer a
49 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included
57 # into which the generated documentation will be written. If a relative path is
66 # option can be useful when feeding doxygen a huge amount of source files, where
[all …]
/chre-3.4.0/chre_api/doc/
DDoxyfile4 # doxygen (www.doxygen.org) for a project.
6 # All text after a double hash (##) is considered a comment and is placed in
9 # All text after a single hash (#) is considered a comment and will be ignored.
29 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
32 # title of most generated pages and in a few other places.
37 # The PROJECT_NUMBER tag can be used to enter a project or revision number. This
44 # for a project that appears at the top of each page and should give viewer a
49 # With the PROJECT_LOGO tag one can specify a logo or an icon that is included
57 # into which the generated documentation will be written. If a relative path is
66 # option can be useful when feeding doxygen a huge amount of source files, where
[all …]

123