# sToCoNet\_AppContext

This structure determines the behavior of TWELITE NET and is statically allocated as `sToCoNet_AppConetext`. It can be set with the callback function [`cbAppColdStart()`](https://sdk.twelite.info/en/twelite-net-api-ref/krubakku/cbappcoldstart) called at startup, or by rewriting `sToCoNetAppContext` directly after startup and calling [`ToCoNet_vRfConfig()`](https://sdk.twelite.info/en/twelite-net-api-ref/twelite-net-guan-shu/toconet_vrfconfig).

| Members                                                                              | Remark                                                                                                                                                                                                                                                           |
| ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><code>uint32 u32AppId</code><br>(Mandatory, cannot be changed after start-up)</p> | A 32 bit application ID which is used to identify TWELITE NET to each other. Value range: `? ?0000`, `???? FFFF`, `0000???? Value range:` ? Cannot be set. Default value: `0xFFFFFFFF`. Always set from the application.                                         |
| <p><code>uint32 u32ChMask</code><br>(Required for some modules)</p>                  | To add ch13 to the mask, set the `1UL << 13` bit to `1`. Default value: `0x07fff800UL` (ch11 to 26) Required modules: `CHANNEL_MGR`, `NBSCAN, NBSCAN_SLAVE`, `LAYERTREE`.                                                                                        |
| `uint16 u16ShortAddress`                                                             | Short address of the module. If not specified, it is automatically generated from the serial number of the module. `0xFFFF` cannot be specified. Cannot be specified when using the network layer. Default: Automatic setting from module serial number.         |
| `uint8 u8Channel` (Mandatory)                                                        | The channel to use for the module. Specify the channel included in `u32ChMask` above. If the module `ToCoNet_USE_MOD_CHANNEL_MGR` is used, this setting is not required, but the channel cannot be changed by the application. Value range: 11 to 26 Default: 18 |
| `uint8 u8CPUClk` (No change recommended)                                             | CPU clock for normal operation. 3:32MHz, 2:16Mhz, 1:8Mhz, 0:4Mhz. Default: 2:16MHz                                                                                                                                                                               |
| `unit8 u8TxPower`                                                                    | Module output 3: max. 2: -11.5db 1: -23db 0: -34.5db (specified value: 3 )                                                                                                                                                                                       |
| `uint8 u8TxMacRetry`                                                                 | Specifies the number of MAC layer retransmissions 0..7. (Default: 3)                                                                                                                                                                                             |
| `bool_t bRxOnIdle`                                                                   | TRUE: The receiver circuit is activated even when the radio circuit is idle. Always set to `TRUE` if reception is required, but always consumes receive current when receiving. Default: `FALSE` (must be `TRUE` for network layer)                              |
| `uint8 u8CCA_Retry`                                                                  | CCA retry count (usually not changed)                                                                                                                                                                                                                            |
| `uint8 u8CCA_Level`                                                                  | CCA start level (usually not changed)                                                                                                                                                                                                                            |
| `uint8 u8Osc32Kmode`                                                                 | Mode of the 32K crystal (`0x00`: internal RC, `0x02`: 32K crystal, `0x03`: 32K oscillator). When using an external oscillator, time is required to stabilize the clock at startup.                                                                               |
| `uint8 u8RandMode`                                                                   | Specification of random number generation method. `0`: Use internal hardware (if 32K external oscillator is used, XorShift is used) `3`: Algorithm using XorShift method (random number seeds are generated from internal hardware at startup).                  |
| `uint16 u16TickHz` (No change recommended)                                           | Period of the system's Tick count (should be divisible by 1000, i.e. `1000, 500, 250, 200, 100).` 1000`,` 500`,` 250`,` 200`,` 100`)Default:` 250\` (4ms)                                                                                                        |
| `bool_t bSkipBootCalib`                                                              | Omit the calculation of the calibration value of the RC timer on waking. To set the calibration explicitly, use the [`ToCoNet_u16RcCalib()`](https://sdk.twelite.info/en/twelite-net-api-ref/twelite-net-guan-shu/toconet_u16rccalib) API                        |
| `uint8 u8MacInitPending`                                                             | If `TRUE`, delay the initialization of the MAC layer. The purpose of this setting is to avoid initializing the MAC layer, which consumes time and current, such as when waking up only for sensor processing.                                                    |

{% hint style="warning" %}
ch26 may not be used for foreign certification (CE/FCC/IC/etc.) (`u8Channel`, `u32ChMask`)
{% endhint %}
