Hello TOR 2k24
Have fun 🚀
This commit is contained in:
commit
f821a46ea0
1162
Audio_746G_Discovery.c
Normal file
1162
Audio_746G_Discovery.c
Normal file
File diff suppressed because it is too large
Load Diff
203
Board_Audio.h
Normal file
203
Board_Audio.h
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
/*-----------------------------------------------------------------------------
|
||||||
|
* Name: Board_Audio.h
|
||||||
|
* Purpose: Audio interface header file
|
||||||
|
* Rev.: 1.1.0
|
||||||
|
*-----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
/* Copyright (c) 2013 - 2014 ARM LIMITED
|
||||||
|
|
||||||
|
All rights reserved.
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
- Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
- Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
- Neither the name of ARM nor the names of its contributors may be used
|
||||||
|
to endorse or promote products derived from this software without
|
||||||
|
specific prior written permission.
|
||||||
|
*
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef __BOARD_AUDIO_H
|
||||||
|
#define __BOARD_AUDIO_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
/* Audio Stream identifier */
|
||||||
|
#define AUDIO_STREAM_OUT 0x00 ///< Output stream
|
||||||
|
#define AUDIO_STREAM_IN 0x80 ///< Input stream
|
||||||
|
|
||||||
|
/* Audio Channel identifier */
|
||||||
|
#define AUDIO_CHANNEL_MASTER 0 ///< Master channel
|
||||||
|
#define AUDIO_CHANNEL_LEFT 1 ///< Left channel (stereo)
|
||||||
|
#define AUDIO_CHANNEL_RIGHT 2 ///< Right channel (stereo)
|
||||||
|
|
||||||
|
/* Audio Data format */
|
||||||
|
#define AUDIO_DATA_8_MONO 0x01 ///< 8-bit samples (uint8_t)
|
||||||
|
#define AUDIO_DATA_16_MONO 0x02 ///< 16-bit samples (uint16_t)
|
||||||
|
#define AUDIO_DATA_32_MONO 0x04 ///< 32-bit samples (uint32_t)
|
||||||
|
#define AUDIO_DATA_8_STEREO 0x81 ///< 2* 8-bit stereo samples: L R (uint8_t)
|
||||||
|
#define AUDIO_DATA_16_STEREO 0x82 ///< 2*16-bit stereo samples: L R (uint16_t)
|
||||||
|
#define AUDIO_DATA_32_STEREO 0x84 ///< 2*32-bit stereo samples: L R (uint32_t)
|
||||||
|
|
||||||
|
/* Audio Volume */
|
||||||
|
#define AUDIO_VOLUME_AUTO_GAIN 0x80 ///< Automatic gain control
|
||||||
|
|
||||||
|
/* Audio Events */
|
||||||
|
#define AUDIO_EVENT_SEND_COMPLETE (1UL << 0) ///< Send completed
|
||||||
|
#define AUDIO_EVENT_RECEIVE_COMPLETE (1UL << 1) ///< Receive completed
|
||||||
|
#define AUDIO_EVENT_TX_UNDERFLOW (1UL << 2) ///< Transmit data not available
|
||||||
|
#define AUDIO_EVENT_RX_OVERFLOW (1UL << 3) ///< Receive data overflow
|
||||||
|
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_Initialize (Audio_SignalEvent_t cb_event)
|
||||||
|
\brief Initialize Audio Interface
|
||||||
|
\param[in] cb_event pointer to event notification function
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_Uninitialize (void)
|
||||||
|
\brief De-initialize Audio Interface
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_SendData (const void *data, uint32_t num)
|
||||||
|
\brief Prepare for sending data to Audio output stream
|
||||||
|
\param[in] data pointer to buffer with data to send
|
||||||
|
\param[in] num number of data items to send
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_ReceiveData (void *data, uint32_t num)
|
||||||
|
\brief Prepare for receiving data from Audio input stream
|
||||||
|
\param[out] data pointer to buffer for data to receive
|
||||||
|
\param[in] num number of data items to send
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn uint32_t Audio_GetDataTxCount (void)
|
||||||
|
\brief Get transmitted data count
|
||||||
|
\returns number of data items transmitted
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn uint32_t Audio_GetDataRxCount (void)
|
||||||
|
\brief Get received data count
|
||||||
|
\returns number of data items received
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_Start (uint8_t stream)
|
||||||
|
\brief Start Audio stream
|
||||||
|
\param[in] stream stream identifier
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_Stop (uint8_t stream)
|
||||||
|
\brief Stop Audio stream
|
||||||
|
\param[in] stream stream identifier
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_Pause (uint8_t stream)
|
||||||
|
\brief Pause Audio stream
|
||||||
|
\param[in] stream stream identifier
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_Resume (uint8_t stream)
|
||||||
|
\brief Resume Audio stream
|
||||||
|
\param[in] stream stream identifier
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_SetVolume (uint8_t stream, uint8_t channel, uint8_t volume)
|
||||||
|
\brief Set volume level for Audio stream
|
||||||
|
\param[in] stream stream identifier
|
||||||
|
\param[in] channel channel identifier
|
||||||
|
\param[in] volume volume level (0..100)
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_SetMute (uint8_t stream, uint8_t channel, bool mute)
|
||||||
|
\brief Set mute state for Audio stream
|
||||||
|
\param[in] stream stream identifier
|
||||||
|
\param[in] channel channel identifier
|
||||||
|
\param[in] mute mute state
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_SetDataFormat (uint8_t stream, uint8_t format)
|
||||||
|
\brief Set Audio data format
|
||||||
|
\param[in] stream stream identifier
|
||||||
|
\param[in] format data format
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
\fn int32_t Audio_SetFrequency (uint8_t stream, uint32_t frequency)
|
||||||
|
\brief Set Audio stream frequency
|
||||||
|
\param[in] stream stream identifier
|
||||||
|
\param[in] frequency Audio frequency in Hz
|
||||||
|
\returns
|
||||||
|
- \b 0: function succeeded
|
||||||
|
- \b -1: function failed
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
\fn void Audio_SignalEvent (uint32_t event)
|
||||||
|
\brief Signal Audio Events
|
||||||
|
\param[in] event notification mask
|
||||||
|
\return none
|
||||||
|
*/
|
||||||
|
typedef void (*Audio_SignalEvent_t) (uint32_t event);
|
||||||
|
|
||||||
|
extern int32_t Audio_Initialize (Audio_SignalEvent_t cb_event);
|
||||||
|
extern int32_t Audio_Uninitialize (void);
|
||||||
|
extern int32_t Audio_SendData (const void *data, uint32_t num);
|
||||||
|
extern int32_t Audio_ReceiveData ( void *data, uint32_t num);
|
||||||
|
extern uint32_t Audio_GetDataTxCount(void);
|
||||||
|
extern uint32_t Audio_GetDataRxCount(void);
|
||||||
|
extern int32_t Audio_Start (uint8_t stream);
|
||||||
|
extern int32_t Audio_Stop (uint8_t stream);
|
||||||
|
extern int32_t Audio_Pause (uint8_t stream);
|
||||||
|
extern int32_t Audio_Resume (uint8_t stream);
|
||||||
|
extern int32_t Audio_SetVolume (uint8_t stream, uint8_t channel, uint8_t volume);
|
||||||
|
extern int32_t Audio_SetMute (uint8_t stream, uint8_t channel, bool mute);
|
||||||
|
extern int32_t Audio_SetDataFormat (uint8_t stream, uint8_t format);
|
||||||
|
extern int32_t Audio_SetFrequency (uint8_t stream, uint32_t frequency);
|
||||||
|
|
||||||
|
#endif /* __BOARD_AUDIO_H */
|
9
EventRecorderStub.scvd
Normal file
9
EventRecorderStub.scvd
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
|
||||||
|
|
||||||
|
<component name="EventRecorderStub" version="1.0.0"/> <!--name and version of the component-->
|
||||||
|
<events>
|
||||||
|
</events>
|
||||||
|
|
||||||
|
</component_viewer>
|
9
README.md
Normal file
9
README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# 227-PTR Token Ring base project
|
||||||
|
|
||||||
|
The base code for the Token Ring project was developed as part of the HEI Real-Time Programming (227-PTR) course.
|
||||||
|
|
||||||
|
The provided project is a real-time chat application based on a custom Token Ring protocol implementation using the RTX5 (CMSIS-RTOS2) RTOS.
|
||||||
|
|
||||||
|
This is a Keil uVision project that is ready to use. It was tested with Keil ARMCC version 5.06 update 7 (build 960). The project compiles without error but is not functional since the MAC layers have not been implemented.
|
||||||
|
|
||||||
|
The project runs on an ARM Cortex-M7 STM32F746 SoC at 216 MHz. uGFX (https://ugfx.io/) is used as a graphical library. The provided project has the stdout/ITM enabled (Debug printf Viewer) and the Event Recorder by default. TraceAnlyzer can be used to debug the real-time application. All configuration settings are available in the `main.h` header file.
|
63
RTE/CMSIS/RTX_Config.c
Normal file
63
RTE/CMSIS/RTX_Config.c
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2013-2017 ARM Limited. All rights reserved.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the License); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
* $Revision: V5.1.0
|
||||||
|
*
|
||||||
|
* Project: CMSIS-RTOS RTX
|
||||||
|
* Title: RTX Configuration
|
||||||
|
*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "cmsis_compiler.h"
|
||||||
|
#include "rtx_os.h"
|
||||||
|
|
||||||
|
// OS Idle Thread
|
||||||
|
__WEAK __NO_RETURN void osRtxIdleThread (void *argument) {
|
||||||
|
(void)argument;
|
||||||
|
|
||||||
|
for (;;) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// OS Error Callback function
|
||||||
|
__WEAK uint32_t osRtxErrorNotify (uint32_t code, void *object_id) {
|
||||||
|
(void)object_id;
|
||||||
|
|
||||||
|
switch (code) {
|
||||||
|
case osRtxErrorStackUnderflow:
|
||||||
|
// Stack overflow detected for thread (thread_id=object_id)
|
||||||
|
break;
|
||||||
|
case osRtxErrorISRQueueOverflow:
|
||||||
|
// ISR Queue overflow detected when inserting object (object_id)
|
||||||
|
break;
|
||||||
|
case osRtxErrorTimerQueueOverflow:
|
||||||
|
// User Timer Callback Queue overflow detected for timer (timer_id=object_id)
|
||||||
|
break;
|
||||||
|
case osRtxErrorClibSpace:
|
||||||
|
// Standard C/C++ library libspace not available: increase OS_THREAD_LIBSPACE_NUM
|
||||||
|
break;
|
||||||
|
case osRtxErrorClibMutex:
|
||||||
|
// Standard C/C++ library mutex initialization failed
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
for (;;) {}
|
||||||
|
//return 0U;
|
||||||
|
}
|
395
RTE/CMSIS/RTX_Config.h
Normal file
395
RTE/CMSIS/RTX_Config.h
Normal file
@ -0,0 +1,395 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2013-2017 ARM Limited. All rights reserved.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the License); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*
|
||||||
|
* $Revision: V5.2.0
|
||||||
|
*
|
||||||
|
* Project: CMSIS-RTOS RTX
|
||||||
|
* Title: RTX Configuration definitions
|
||||||
|
*
|
||||||
|
* -----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef RTX_CONFIG_H_
|
||||||
|
#define RTX_CONFIG_H_
|
||||||
|
|
||||||
|
//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
|
||||||
|
|
||||||
|
// <h>System Configuration
|
||||||
|
// =======================
|
||||||
|
|
||||||
|
// <o>Global Dynamic Memory size [bytes] <0-1073741824:8>
|
||||||
|
// <i> Defines the combined global dynamic memory size.
|
||||||
|
// <i> Default: 4096
|
||||||
|
#ifndef OS_DYNAMIC_MEM_SIZE
|
||||||
|
#define OS_DYNAMIC_MEM_SIZE 100000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Kernel Tick Frequency [Hz] <1-1000000>
|
||||||
|
// <i> Defines base time unit for delays and timeouts.
|
||||||
|
// <i> Default: 1000 (1ms tick)
|
||||||
|
#ifndef OS_TICK_FREQ
|
||||||
|
#define OS_TICK_FREQ 1000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <e>Round-Robin Thread switching
|
||||||
|
// <i> Enables Round-Robin Thread switching.
|
||||||
|
#ifndef OS_ROBIN_ENABLE
|
||||||
|
#define OS_ROBIN_ENABLE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Round-Robin Timeout <1-1000>
|
||||||
|
// <i> Defines how many ticks a thread will execute before a thread switch.
|
||||||
|
// <i> Default: 5
|
||||||
|
#ifndef OS_ROBIN_TIMEOUT
|
||||||
|
#define OS_ROBIN_TIMEOUT 5
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
// <h>Event Recording
|
||||||
|
|
||||||
|
// <q>Memory Management
|
||||||
|
// <i> Enables Memory Management events recording.
|
||||||
|
#ifndef OS_EVR_MEMORY
|
||||||
|
#define OS_EVR_MEMORY 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Kernel
|
||||||
|
// <i> Enables Kernel events recording.
|
||||||
|
#ifndef OS_EVR_KERNEL
|
||||||
|
#define OS_EVR_KERNEL 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Thread
|
||||||
|
// <i> Enables Thread events recording.
|
||||||
|
#ifndef OS_EVR_THREAD
|
||||||
|
#define OS_EVR_THREAD 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Timer
|
||||||
|
// <i> Enables Timer events recording.
|
||||||
|
#ifndef OS_EVR_TIMER
|
||||||
|
#define OS_EVR_TIMER 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Event Flags
|
||||||
|
// <i> Enables Event Flags events recording.
|
||||||
|
#ifndef OS_EVR_EVFLAGS
|
||||||
|
#define OS_EVR_EVFLAGS 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Mutex
|
||||||
|
// <i> Enables Mutex events recording.
|
||||||
|
#ifndef OS_EVR_MUTEX
|
||||||
|
#define OS_EVR_MUTEX 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Semaphore
|
||||||
|
// <i> Enables Semaphore events recording.
|
||||||
|
#ifndef OS_EVR_SEMAPHORE
|
||||||
|
#define OS_EVR_SEMAPHORE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Memory Pool
|
||||||
|
// <i> Enables Memory Pool events recording.
|
||||||
|
#ifndef OS_EVR_MEMPOOL
|
||||||
|
#define OS_EVR_MEMPOOL 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Message Queue
|
||||||
|
// <i> Enables Message Queue events recording.
|
||||||
|
#ifndef OS_EVR_MSGQUEUE
|
||||||
|
#define OS_EVR_MSGQUEUE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// <o>ISR FIFO Queue
|
||||||
|
// <4=> 4 entries <8=> 8 entries <12=> 12 entries <16=> 16 entries
|
||||||
|
// <24=> 24 entries <32=> 32 entries <48=> 48 entries <64=> 64 entries
|
||||||
|
// <96=> 96 entries <128=> 128 entries <196=> 196 entries <256=> 256 entries
|
||||||
|
// <i> RTOS Functions called from ISR store requests to this buffer.
|
||||||
|
// <i> Default: 16 entries
|
||||||
|
#ifndef OS_ISR_FIFO_QUEUE
|
||||||
|
#define OS_ISR_FIFO_QUEUE 16
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// <h>Thread Configuration
|
||||||
|
// =======================
|
||||||
|
|
||||||
|
// <e>Object specific Memory allocation
|
||||||
|
// <i> Enables object specific memory allocation.
|
||||||
|
#ifndef OS_THREAD_OBJ_MEM
|
||||||
|
#define OS_THREAD_OBJ_MEM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Number of user Threads <1-1000>
|
||||||
|
// <i> Defines maximum number of user threads that can be active at the same time.
|
||||||
|
// <i> Applies to user threads with system provided memory for control blocks.
|
||||||
|
#ifndef OS_THREAD_NUM
|
||||||
|
#define OS_THREAD_NUM 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Number of user Threads with default Stack size <0-1000>
|
||||||
|
// <i> Defines maximum number of user threads with default stack size.
|
||||||
|
// <i> Applies to user threads with zero stack size specified.
|
||||||
|
#ifndef OS_THREAD_DEF_STACK_NUM
|
||||||
|
#define OS_THREAD_DEF_STACK_NUM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Total Stack size [bytes] for user Threads with user-provided Stack size <0-1073741824:8>
|
||||||
|
// <i> Defines the combined stack size for user threads with user-provided stack size.
|
||||||
|
// <i> Applies to user threads with user-provided stack size and system provided memory for stack.
|
||||||
|
// <i> Default: 0
|
||||||
|
#ifndef OS_THREAD_USER_STACK_SIZE
|
||||||
|
#define OS_THREAD_USER_STACK_SIZE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
// <o>Default Thread Stack size [bytes] <96-1073741824:8>
|
||||||
|
// <i> Defines stack size for threads with zero stack size specified.
|
||||||
|
// <i> Default: 200
|
||||||
|
#ifndef OS_STACK_SIZE
|
||||||
|
#define OS_STACK_SIZE 200
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Idle Thread Stack size [bytes] <72-1073741824:8>
|
||||||
|
// <i> Defines stack size for Idle thread.
|
||||||
|
// <i> Default: 200
|
||||||
|
#ifndef OS_IDLE_THREAD_STACK_SIZE
|
||||||
|
#define OS_IDLE_THREAD_STACK_SIZE 200
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Idle Thread TrustZone Module Identifier
|
||||||
|
// <i> Defines TrustZone Thread Context Management Identifier.
|
||||||
|
// <i> Applies only to cores with TrustZone technology.
|
||||||
|
// <i> Default: 0 (not used)
|
||||||
|
#ifndef OS_IDLE_THREAD_TZ_MOD_ID
|
||||||
|
#define OS_IDLE_THREAD_TZ_MOD_ID 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Stack overrun checking
|
||||||
|
// <i> Enable stack overrun checks at thread switch.
|
||||||
|
// <i> Enabling this option increases slightly the execution time of a thread switch.
|
||||||
|
#ifndef OS_STACK_CHECK
|
||||||
|
#define OS_STACK_CHECK 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <q>Stack usage watermark
|
||||||
|
// <i> Initialize thread stack with watermark pattern for analyzing stack usage.
|
||||||
|
// <i> Enabling this option increases significantly the execution time of thread creation.
|
||||||
|
#ifndef OS_STACK_WATERMARK
|
||||||
|
#define OS_STACK_WATERMARK 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Processor mode for Thread execution
|
||||||
|
// <0=> Unprivileged mode
|
||||||
|
// <1=> Privileged mode
|
||||||
|
// <i> Default: Privileged mode
|
||||||
|
#ifndef OS_PRIVILEGE_MODE
|
||||||
|
#define OS_PRIVILEGE_MODE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// <h>Timer Configuration
|
||||||
|
// ======================
|
||||||
|
|
||||||
|
// <e>Object specific Memory allocation
|
||||||
|
// <i> Enables object specific memory allocation.
|
||||||
|
#ifndef OS_TIMER_OBJ_MEM
|
||||||
|
#define OS_TIMER_OBJ_MEM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Number of Timer objects <1-1000>
|
||||||
|
// <i> Defines maximum number of objects that can be active at the same time.
|
||||||
|
// <i> Applies to objects with system provided memory for control blocks.
|
||||||
|
#ifndef OS_TIMER_NUM
|
||||||
|
#define OS_TIMER_NUM 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
// <o>Timer Thread Priority
|
||||||
|
// <8=> Low
|
||||||
|
// <16=> Below Normal <24=> Normal <32=> Above Normal
|
||||||
|
// <40=> High
|
||||||
|
// <48=> Realtime
|
||||||
|
// <i> Defines priority for timer thread
|
||||||
|
// <i> Default: High
|
||||||
|
#ifndef OS_TIMER_THREAD_PRIO
|
||||||
|
#define OS_TIMER_THREAD_PRIO 40
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Timer Thread Stack size [bytes] <0-1073741824:8>
|
||||||
|
// <i> Defines stack size for Timer thread.
|
||||||
|
// <i> May be set to 0 when timers are not used.
|
||||||
|
// <i> Default: 200
|
||||||
|
#ifndef OS_TIMER_THREAD_STACK_SIZE
|
||||||
|
#define OS_TIMER_THREAD_STACK_SIZE 200
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Timer Thread TrustZone Module Identifier
|
||||||
|
// <i> Defines TrustZone Thread Context Management Identifier.
|
||||||
|
// <i> Applies only to cores with TrustZone technology.
|
||||||
|
// <i> Default: 0 (not used)
|
||||||
|
#ifndef OS_TIMER_THREAD_TZ_MOD_ID
|
||||||
|
#define OS_TIMER_THREAD_TZ_MOD_ID 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Timer Callback Queue entries <0-256>
|
||||||
|
// <i> Number of concurrent active timer callback functions.
|
||||||
|
// <i> May be set to 0 when timers are not used.
|
||||||
|
// <i> Default: 4
|
||||||
|
#ifndef OS_TIMER_CB_QUEUE
|
||||||
|
#define OS_TIMER_CB_QUEUE 4
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// <h>Event Flags Configuration
|
||||||
|
// ============================
|
||||||
|
|
||||||
|
// <e>Object specific Memory allocation
|
||||||
|
// <i> Enables object specific memory allocation.
|
||||||
|
#ifndef OS_EVFLAGS_OBJ_MEM
|
||||||
|
#define OS_EVFLAGS_OBJ_MEM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Number of Event Flags objects <1-1000>
|
||||||
|
// <i> Defines maximum number of objects that can be active at the same time.
|
||||||
|
// <i> Applies to objects with system provided memory for control blocks.
|
||||||
|
#ifndef OS_EVFLAGS_NUM
|
||||||
|
#define OS_EVFLAGS_NUM 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// <h>Mutex Configuration
|
||||||
|
// ======================
|
||||||
|
|
||||||
|
// <e>Object specific Memory allocation
|
||||||
|
// <i> Enables object specific memory allocation.
|
||||||
|
#ifndef OS_MUTEX_OBJ_MEM
|
||||||
|
#define OS_MUTEX_OBJ_MEM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Number of Mutex objects <1-1000>
|
||||||
|
// <i> Defines maximum number of objects that can be active at the same time.
|
||||||
|
// <i> Applies to objects with system provided memory for control blocks.
|
||||||
|
#ifndef OS_MUTEX_NUM
|
||||||
|
#define OS_MUTEX_NUM 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// <h>Semaphore Configuration
|
||||||
|
// ==========================
|
||||||
|
|
||||||
|
// <e>Object specific Memory allocation
|
||||||
|
// <i> Enables object specific memory allocation.
|
||||||
|
#ifndef OS_SEMAPHORE_OBJ_MEM
|
||||||
|
#define OS_SEMAPHORE_OBJ_MEM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Number of Semaphore objects <1-1000>
|
||||||
|
// <i> Defines maximum number of objects that can be active at the same time.
|
||||||
|
// <i> Applies to objects with system provided memory for control blocks.
|
||||||
|
#ifndef OS_SEMAPHORE_NUM
|
||||||
|
#define OS_SEMAPHORE_NUM 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// <h>Memory Pool Configuration
|
||||||
|
// ============================
|
||||||
|
|
||||||
|
// <e>Object specific Memory allocation
|
||||||
|
// <i> Enables object specific memory allocation.
|
||||||
|
#ifndef OS_MEMPOOL_OBJ_MEM
|
||||||
|
#define OS_MEMPOOL_OBJ_MEM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Number of Memory Pool objects <1-1000>
|
||||||
|
// <i> Defines maximum number of objects that can be active at the same time.
|
||||||
|
// <i> Applies to objects with system provided memory for control blocks.
|
||||||
|
#ifndef OS_MEMPOOL_NUM
|
||||||
|
#define OS_MEMPOOL_NUM 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Data Storage Memory size [bytes] <0-1073741824:8>
|
||||||
|
// <i> Defines the combined data storage memory size.
|
||||||
|
// <i> Applies to objects with system provided memory for data storage.
|
||||||
|
// <i> Default: 0
|
||||||
|
#ifndef OS_MEMPOOL_DATA_SIZE
|
||||||
|
#define OS_MEMPOOL_DATA_SIZE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// <h>Message Queue Configuration
|
||||||
|
// ==============================
|
||||||
|
|
||||||
|
// <e>Object specific Memory allocation
|
||||||
|
// <i> Enables object specific memory allocation.
|
||||||
|
#ifndef OS_MSGQUEUE_OBJ_MEM
|
||||||
|
#define OS_MSGQUEUE_OBJ_MEM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Number of Message Queue objects <1-1000>
|
||||||
|
// <i> Defines maximum number of objects that can be active at the same time.
|
||||||
|
// <i> Applies to objects with system provided memory for control blocks.
|
||||||
|
#ifndef OS_MSGQUEUE_NUM
|
||||||
|
#define OS_MSGQUEUE_NUM 12
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// <o>Data Storage Memory size [bytes] <0-1073741824:8>
|
||||||
|
// <i> Defines the combined data storage memory size.
|
||||||
|
// <i> Applies to objects with system provided memory for data storage.
|
||||||
|
// <i> Default: 0
|
||||||
|
#ifndef OS_MSGQUEUE_DATA_SIZE
|
||||||
|
#define OS_MSGQUEUE_DATA_SIZE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// Number of Threads which use standard C/C++ library libspace
|
||||||
|
// (when thread specific memory allocation is not used).
|
||||||
|
#if (OS_THREAD_OBJ_MEM == 0)
|
||||||
|
#define OS_THREAD_LIBSPACE_NUM 4
|
||||||
|
#else
|
||||||
|
#define OS_THREAD_LIBSPACE_NUM OS_THREAD_NUM
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//------------- <<< end of configuration section >>> ---------------------------
|
||||||
|
|
||||||
|
#endif // RTX_CONFIG_H_
|
44
RTE/Compiler/EventRecorderConf.h
Normal file
44
RTE/Compiler/EventRecorderConf.h
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/*------------------------------------------------------------------------------
|
||||||
|
* MDK - Component ::Event Recorder
|
||||||
|
* Copyright (c) 2016 ARM Germany GmbH. All rights reserved.
|
||||||
|
*------------------------------------------------------------------------------
|
||||||
|
* Name: EventRecorderConf.h
|
||||||
|
* Purpose: Event Recorder Configuration
|
||||||
|
* Rev.: V1.0.0
|
||||||
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
|
||||||
|
|
||||||
|
// <h>Event Recorder
|
||||||
|
|
||||||
|
// <o>Number of Records
|
||||||
|
// <8=>8 <16=>16 <32=>32 <64=>64 <128=>128 <256=>256 <512=>512 <1024=>1024
|
||||||
|
// <2048=>2048 <4096=>4096 <8192=>8192 <16384=>16384 <32768=>32768
|
||||||
|
// <65536=>65536 <131072=>131072 <262144=>262144 <524288=>524288
|
||||||
|
// <1048576=>1048576
|
||||||
|
// <i>Configure size of Event Record Buffer (each record is 16 bytes)
|
||||||
|
// <i>Must be 2^n (min=8, max=1048576)
|
||||||
|
#define EVENT_RECORD_COUNT 1024U
|
||||||
|
|
||||||
|
// <o>Time Stamp Source
|
||||||
|
// <0=> DWT Cycle Counter <1=> SysTick
|
||||||
|
// <3=> User Timer (Normal Reset) <4=> User Timer (Power-On Reset)
|
||||||
|
// <i>Selects source for 32-bit time stamp
|
||||||
|
#define EVENT_TIMESTAMP_SOURCE 0
|
||||||
|
|
||||||
|
// <h>SysTick Configuration
|
||||||
|
// <i>Configure values when Time Stamp Source is set to SysTick
|
||||||
|
|
||||||
|
// <o>SysTick Input Clock Frequency [Hz] <1-1000000000>
|
||||||
|
// <i>Defines SysTick input clock (typical identical with processor clock)
|
||||||
|
#define SYSTICK_CLOCK 216000000U
|
||||||
|
|
||||||
|
// <o>SysTick Interrupt Period [us] <1-1000000000>
|
||||||
|
// <i>Defines time period of the SysTick timer interrupt
|
||||||
|
#define SYSTICK_PERIOD_US 1000U
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
// </h>
|
||||||
|
|
||||||
|
//------------- <<< end of configuration section >>> ---------------------------
|
3277
RTE/Device/STM32F746NGHx/RTE_Device.h
Normal file
3277
RTE/Device/STM32F746NGHx/RTE_Device.h
Normal file
File diff suppressed because it is too large
Load Diff
485
RTE/Device/STM32F746NGHx/startup_stm32f746xx.s
Normal file
485
RTE/Device/STM32F746NGHx/startup_stm32f746xx.s
Normal file
@ -0,0 +1,485 @@
|
|||||||
|
;******************** (C) COPYRIGHT 2016 STMicroelectronics ********************
|
||||||
|
;* File Name : startup_stm32f746xx.s
|
||||||
|
;* Author : MCD Application Team
|
||||||
|
;* Version : V1.2.0
|
||||||
|
;* Date : 30-December-2016
|
||||||
|
;* Description : STM32F746xx devices vector table for MDK-ARM toolchain.
|
||||||
|
;* This module performs:
|
||||||
|
;* - Set the initial SP
|
||||||
|
;* - Set the initial PC == Reset_Handler
|
||||||
|
;* - Set the vector table entries with the exceptions ISR address
|
||||||
|
;* - Branches to __main in the C library (which eventually
|
||||||
|
;* calls main()).
|
||||||
|
;* After Reset the CortexM7 processor is in Thread mode,
|
||||||
|
;* priority is Privileged, and the Stack is set to Main.
|
||||||
|
;* <<< Use Configuration Wizard in Context Menu >>>
|
||||||
|
;*******************************************************************************
|
||||||
|
;
|
||||||
|
;* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
;* are permitted provided that the following conditions are met:
|
||||||
|
;* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
;* this list of conditions and the following disclaimer.
|
||||||
|
;* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
;* this list of conditions and the following disclaimer in the documentation
|
||||||
|
;* and/or other materials provided with the distribution.
|
||||||
|
;* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
;* may be used to endorse or promote products derived from this software
|
||||||
|
;* without specific prior written permission.
|
||||||
|
;*
|
||||||
|
;* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
;* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
;* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
;* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
;* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
;* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
;* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
;* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
;* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
;* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
;
|
||||||
|
;*******************************************************************************
|
||||||
|
|
||||||
|
; Amount of memory (in bytes) allocated for Stack
|
||||||
|
; Tailor this value to your application needs
|
||||||
|
; <h> Stack Configuration
|
||||||
|
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
||||||
|
; </h>
|
||||||
|
|
||||||
|
Stack_Size EQU 0x00000400
|
||||||
|
|
||||||
|
AREA STACK, NOINIT, READWRITE, ALIGN=3
|
||||||
|
Stack_Mem SPACE Stack_Size
|
||||||
|
__initial_sp
|
||||||
|
|
||||||
|
|
||||||
|
; <h> Heap Configuration
|
||||||
|
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
||||||
|
; </h>
|
||||||
|
|
||||||
|
Heap_Size EQU 0x00000200
|
||||||
|
|
||||||
|
AREA HEAP, NOINIT, READWRITE, ALIGN=3
|
||||||
|
__heap_base
|
||||||
|
Heap_Mem SPACE Heap_Size
|
||||||
|
__heap_limit
|
||||||
|
|
||||||
|
PRESERVE8
|
||||||
|
THUMB
|
||||||
|
|
||||||
|
|
||||||
|
; Vector Table Mapped to Address 0 at Reset
|
||||||
|
AREA RESET, DATA, READONLY
|
||||||
|
EXPORT __Vectors
|
||||||
|
EXPORT __Vectors_End
|
||||||
|
EXPORT __Vectors_Size
|
||||||
|
|
||||||
|
__Vectors DCD __initial_sp ; Top of Stack
|
||||||
|
DCD Reset_Handler ; Reset Handler
|
||||||
|
DCD NMI_Handler ; NMI Handler
|
||||||
|
DCD HardFault_Handler ; Hard Fault Handler
|
||||||
|
DCD MemManage_Handler ; MPU Fault Handler
|
||||||
|
DCD BusFault_Handler ; Bus Fault Handler
|
||||||
|
DCD UsageFault_Handler ; Usage Fault Handler
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD SVC_Handler ; SVCall Handler
|
||||||
|
DCD DebugMon_Handler ; Debug Monitor Handler
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD PendSV_Handler ; PendSV Handler
|
||||||
|
DCD SysTick_Handler ; SysTick Handler
|
||||||
|
|
||||||
|
; External Interrupts
|
||||||
|
DCD WWDG_IRQHandler ; Window WatchDog
|
||||||
|
DCD PVD_IRQHandler ; PVD through EXTI Line detection
|
||||||
|
DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
|
||||||
|
DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
|
||||||
|
DCD FLASH_IRQHandler ; FLASH
|
||||||
|
DCD RCC_IRQHandler ; RCC
|
||||||
|
DCD EXTI0_IRQHandler ; EXTI Line0
|
||||||
|
DCD EXTI1_IRQHandler ; EXTI Line1
|
||||||
|
DCD EXTI2_IRQHandler ; EXTI Line2
|
||||||
|
DCD EXTI3_IRQHandler ; EXTI Line3
|
||||||
|
DCD EXTI4_IRQHandler ; EXTI Line4
|
||||||
|
DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0
|
||||||
|
DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1
|
||||||
|
DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2
|
||||||
|
DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3
|
||||||
|
DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4
|
||||||
|
DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5
|
||||||
|
DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6
|
||||||
|
DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s
|
||||||
|
DCD CAN1_TX_IRQHandler ; CAN1 TX
|
||||||
|
DCD CAN1_RX0_IRQHandler ; CAN1 RX0
|
||||||
|
DCD CAN1_RX1_IRQHandler ; CAN1 RX1
|
||||||
|
DCD CAN1_SCE_IRQHandler ; CAN1 SCE
|
||||||
|
DCD EXTI9_5_IRQHandler ; External Line[9:5]s
|
||||||
|
DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9
|
||||||
|
DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10
|
||||||
|
DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11
|
||||||
|
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
|
||||||
|
DCD TIM2_IRQHandler ; TIM2
|
||||||
|
DCD TIM3_IRQHandler ; TIM3
|
||||||
|
DCD TIM4_IRQHandler ; TIM4
|
||||||
|
DCD I2C1_EV_IRQHandler ; I2C1 Event
|
||||||
|
DCD I2C1_ER_IRQHandler ; I2C1 Error
|
||||||
|
DCD I2C2_EV_IRQHandler ; I2C2 Event
|
||||||
|
DCD I2C2_ER_IRQHandler ; I2C2 Error
|
||||||
|
DCD SPI1_IRQHandler ; SPI1
|
||||||
|
DCD SPI2_IRQHandler ; SPI2
|
||||||
|
DCD USART1_IRQHandler ; USART1
|
||||||
|
DCD USART2_IRQHandler ; USART2
|
||||||
|
DCD USART3_IRQHandler ; USART3
|
||||||
|
DCD EXTI15_10_IRQHandler ; External Line[15:10]s
|
||||||
|
DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
|
||||||
|
DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line
|
||||||
|
DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12
|
||||||
|
DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13
|
||||||
|
DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14
|
||||||
|
DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare
|
||||||
|
DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7
|
||||||
|
DCD FMC_IRQHandler ; FMC
|
||||||
|
DCD SDMMC1_IRQHandler ; SDMMC1
|
||||||
|
DCD TIM5_IRQHandler ; TIM5
|
||||||
|
DCD SPI3_IRQHandler ; SPI3
|
||||||
|
DCD UART4_IRQHandler ; UART4
|
||||||
|
DCD UART5_IRQHandler ; UART5
|
||||||
|
DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
|
||||||
|
DCD TIM7_IRQHandler ; TIM7
|
||||||
|
DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0
|
||||||
|
DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1
|
||||||
|
DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2
|
||||||
|
DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3
|
||||||
|
DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4
|
||||||
|
DCD ETH_IRQHandler ; Ethernet
|
||||||
|
DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line
|
||||||
|
DCD CAN2_TX_IRQHandler ; CAN2 TX
|
||||||
|
DCD CAN2_RX0_IRQHandler ; CAN2 RX0
|
||||||
|
DCD CAN2_RX1_IRQHandler ; CAN2 RX1
|
||||||
|
DCD CAN2_SCE_IRQHandler ; CAN2 SCE
|
||||||
|
DCD OTG_FS_IRQHandler ; USB OTG FS
|
||||||
|
DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5
|
||||||
|
DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6
|
||||||
|
DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7
|
||||||
|
DCD USART6_IRQHandler ; USART6
|
||||||
|
DCD I2C3_EV_IRQHandler ; I2C3 event
|
||||||
|
DCD I2C3_ER_IRQHandler ; I2C3 error
|
||||||
|
DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out
|
||||||
|
DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In
|
||||||
|
DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI
|
||||||
|
DCD OTG_HS_IRQHandler ; USB OTG HS
|
||||||
|
DCD DCMI_IRQHandler ; DCMI
|
||||||
|
DCD 0 ; Reserved
|
||||||
|
DCD RNG_IRQHandler ; Rng
|
||||||
|
DCD FPU_IRQHandler ; FPU
|
||||||
|
DCD UART7_IRQHandler ; UART7
|
||||||
|
DCD UART8_IRQHandler ; UART8
|
||||||
|
DCD SPI4_IRQHandler ; SPI4
|
||||||
|
DCD SPI5_IRQHandler ; SPI5
|
||||||
|
DCD SPI6_IRQHandler ; SPI6
|
||||||
|
DCD SAI1_IRQHandler ; SAI1
|
||||||
|
DCD LTDC_IRQHandler ; LTDC
|
||||||
|
DCD LTDC_ER_IRQHandler ; LTDC error
|
||||||
|
DCD DMA2D_IRQHandler ; DMA2D
|
||||||
|
DCD SAI2_IRQHandler ; SAI2
|
||||||
|
DCD QUADSPI_IRQHandler ; QUADSPI
|
||||||
|
DCD LPTIM1_IRQHandler ; LPTIM1
|
||||||
|
DCD CEC_IRQHandler ; HDMI_CEC
|
||||||
|
DCD I2C4_EV_IRQHandler ; I2C4 Event
|
||||||
|
DCD I2C4_ER_IRQHandler ; I2C4 Error
|
||||||
|
DCD SPDIF_RX_IRQHandler ; SPDIF_RX
|
||||||
|
__Vectors_End
|
||||||
|
|
||||||
|
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||||
|
|
||||||
|
AREA |.text|, CODE, READONLY
|
||||||
|
|
||||||
|
; Reset handler
|
||||||
|
Reset_Handler PROC
|
||||||
|
EXPORT Reset_Handler [WEAK]
|
||||||
|
IMPORT SystemInit
|
||||||
|
IMPORT __main
|
||||||
|
|
||||||
|
LDR R0, =SystemInit
|
||||||
|
BLX R0
|
||||||
|
LDR R0, =__main
|
||||||
|
BX R0
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
; Dummy Exception Handlers (infinite loops which can be modified)
|
||||||
|
|
||||||
|
NMI_Handler PROC
|
||||||
|
EXPORT NMI_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
HardFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT HardFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
MemManage_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT MemManage_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
BusFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT BusFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
UsageFault_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT UsageFault_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
SVC_Handler PROC
|
||||||
|
EXPORT SVC_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
DebugMon_Handler\
|
||||||
|
PROC
|
||||||
|
EXPORT DebugMon_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
PendSV_Handler PROC
|
||||||
|
EXPORT PendSV_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
SysTick_Handler PROC
|
||||||
|
EXPORT SysTick_Handler [WEAK]
|
||||||
|
B .
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
Default_Handler PROC
|
||||||
|
|
||||||
|
EXPORT WWDG_IRQHandler [WEAK]
|
||||||
|
EXPORT PVD_IRQHandler [WEAK]
|
||||||
|
EXPORT TAMP_STAMP_IRQHandler [WEAK]
|
||||||
|
EXPORT RTC_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT FLASH_IRQHandler [WEAK]
|
||||||
|
EXPORT RCC_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI0_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI1_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI2_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI3_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI4_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream0_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream1_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream2_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream3_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream4_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream5_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream6_IRQHandler [WEAK]
|
||||||
|
EXPORT ADC_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_TX_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_RX0_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_RX1_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN1_SCE_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI9_5_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_UP_TIM10_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_TRG_COM_TIM11_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM1_CC_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM2_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM3_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM4_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C1_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C1_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C2_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C2_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI1_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI2_IRQHandler [WEAK]
|
||||||
|
EXPORT USART1_IRQHandler [WEAK]
|
||||||
|
EXPORT USART2_IRQHandler [WEAK]
|
||||||
|
EXPORT USART3_IRQHandler [WEAK]
|
||||||
|
EXPORT EXTI15_10_IRQHandler [WEAK]
|
||||||
|
EXPORT RTC_Alarm_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_FS_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_UP_TIM13_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM8_CC_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA1_Stream7_IRQHandler [WEAK]
|
||||||
|
EXPORT FMC_IRQHandler [WEAK]
|
||||||
|
EXPORT SDMMC1_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM5_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI3_IRQHandler [WEAK]
|
||||||
|
EXPORT UART4_IRQHandler [WEAK]
|
||||||
|
EXPORT UART5_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM6_DAC_IRQHandler [WEAK]
|
||||||
|
EXPORT TIM7_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream0_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream1_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream2_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream3_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream4_IRQHandler [WEAK]
|
||||||
|
EXPORT ETH_IRQHandler [WEAK]
|
||||||
|
EXPORT ETH_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_TX_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_RX0_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_RX1_IRQHandler [WEAK]
|
||||||
|
EXPORT CAN2_SCE_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_FS_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream5_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream6_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2_Stream7_IRQHandler [WEAK]
|
||||||
|
EXPORT USART6_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C3_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C3_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_EP1_OUT_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_EP1_IN_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_WKUP_IRQHandler [WEAK]
|
||||||
|
EXPORT OTG_HS_IRQHandler [WEAK]
|
||||||
|
EXPORT DCMI_IRQHandler [WEAK]
|
||||||
|
EXPORT RNG_IRQHandler [WEAK]
|
||||||
|
EXPORT FPU_IRQHandler [WEAK]
|
||||||
|
EXPORT UART7_IRQHandler [WEAK]
|
||||||
|
EXPORT UART8_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI4_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI5_IRQHandler [WEAK]
|
||||||
|
EXPORT SPI6_IRQHandler [WEAK]
|
||||||
|
EXPORT SAI1_IRQHandler [WEAK]
|
||||||
|
EXPORT LTDC_IRQHandler [WEAK]
|
||||||
|
EXPORT LTDC_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT DMA2D_IRQHandler [WEAK]
|
||||||
|
EXPORT SAI2_IRQHandler [WEAK]
|
||||||
|
EXPORT QUADSPI_IRQHandler [WEAK]
|
||||||
|
EXPORT LPTIM1_IRQHandler [WEAK]
|
||||||
|
EXPORT CEC_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C4_EV_IRQHandler [WEAK]
|
||||||
|
EXPORT I2C4_ER_IRQHandler [WEAK]
|
||||||
|
EXPORT SPDIF_RX_IRQHandler [WEAK]
|
||||||
|
|
||||||
|
WWDG_IRQHandler
|
||||||
|
PVD_IRQHandler
|
||||||
|
TAMP_STAMP_IRQHandler
|
||||||
|
RTC_WKUP_IRQHandler
|
||||||
|
FLASH_IRQHandler
|
||||||
|
RCC_IRQHandler
|
||||||
|
EXTI0_IRQHandler
|
||||||
|
EXTI1_IRQHandler
|
||||||
|
EXTI2_IRQHandler
|
||||||
|
EXTI3_IRQHandler
|
||||||
|
EXTI4_IRQHandler
|
||||||
|
DMA1_Stream0_IRQHandler
|
||||||
|
DMA1_Stream1_IRQHandler
|
||||||
|
DMA1_Stream2_IRQHandler
|
||||||
|
DMA1_Stream3_IRQHandler
|
||||||
|
DMA1_Stream4_IRQHandler
|
||||||
|
DMA1_Stream5_IRQHandler
|
||||||
|
DMA1_Stream6_IRQHandler
|
||||||
|
ADC_IRQHandler
|
||||||
|
CAN1_TX_IRQHandler
|
||||||
|
CAN1_RX0_IRQHandler
|
||||||
|
CAN1_RX1_IRQHandler
|
||||||
|
CAN1_SCE_IRQHandler
|
||||||
|
EXTI9_5_IRQHandler
|
||||||
|
TIM1_BRK_TIM9_IRQHandler
|
||||||
|
TIM1_UP_TIM10_IRQHandler
|
||||||
|
TIM1_TRG_COM_TIM11_IRQHandler
|
||||||
|
TIM1_CC_IRQHandler
|
||||||
|
TIM2_IRQHandler
|
||||||
|
TIM3_IRQHandler
|
||||||
|
TIM4_IRQHandler
|
||||||
|
I2C1_EV_IRQHandler
|
||||||
|
I2C1_ER_IRQHandler
|
||||||
|
I2C2_EV_IRQHandler
|
||||||
|
I2C2_ER_IRQHandler
|
||||||
|
SPI1_IRQHandler
|
||||||
|
SPI2_IRQHandler
|
||||||
|
USART1_IRQHandler
|
||||||
|
USART2_IRQHandler
|
||||||
|
USART3_IRQHandler
|
||||||
|
EXTI15_10_IRQHandler
|
||||||
|
RTC_Alarm_IRQHandler
|
||||||
|
OTG_FS_WKUP_IRQHandler
|
||||||
|
TIM8_BRK_TIM12_IRQHandler
|
||||||
|
TIM8_UP_TIM13_IRQHandler
|
||||||
|
TIM8_TRG_COM_TIM14_IRQHandler
|
||||||
|
TIM8_CC_IRQHandler
|
||||||
|
DMA1_Stream7_IRQHandler
|
||||||
|
FMC_IRQHandler
|
||||||
|
SDMMC1_IRQHandler
|
||||||
|
TIM5_IRQHandler
|
||||||
|
SPI3_IRQHandler
|
||||||
|
UART4_IRQHandler
|
||||||
|
UART5_IRQHandler
|
||||||
|
TIM6_DAC_IRQHandler
|
||||||
|
TIM7_IRQHandler
|
||||||
|
DMA2_Stream0_IRQHandler
|
||||||
|
DMA2_Stream1_IRQHandler
|
||||||
|
DMA2_Stream2_IRQHandler
|
||||||
|
DMA2_Stream3_IRQHandler
|
||||||
|
DMA2_Stream4_IRQHandler
|
||||||
|
ETH_IRQHandler
|
||||||
|
ETH_WKUP_IRQHandler
|
||||||
|
CAN2_TX_IRQHandler
|
||||||
|
CAN2_RX0_IRQHandler
|
||||||
|
CAN2_RX1_IRQHandler
|
||||||
|
CAN2_SCE_IRQHandler
|
||||||
|
OTG_FS_IRQHandler
|
||||||
|
DMA2_Stream5_IRQHandler
|
||||||
|
DMA2_Stream6_IRQHandler
|
||||||
|
DMA2_Stream7_IRQHandler
|
||||||
|
USART6_IRQHandler
|
||||||
|
I2C3_EV_IRQHandler
|
||||||
|
I2C3_ER_IRQHandler
|
||||||
|
OTG_HS_EP1_OUT_IRQHandler
|
||||||
|
OTG_HS_EP1_IN_IRQHandler
|
||||||
|
OTG_HS_WKUP_IRQHandler
|
||||||
|
OTG_HS_IRQHandler
|
||||||
|
DCMI_IRQHandler
|
||||||
|
RNG_IRQHandler
|
||||||
|
FPU_IRQHandler
|
||||||
|
UART7_IRQHandler
|
||||||
|
UART8_IRQHandler
|
||||||
|
SPI4_IRQHandler
|
||||||
|
SPI5_IRQHandler
|
||||||
|
SPI6_IRQHandler
|
||||||
|
SAI1_IRQHandler
|
||||||
|
LTDC_IRQHandler
|
||||||
|
LTDC_ER_IRQHandler
|
||||||
|
DMA2D_IRQHandler
|
||||||
|
SAI2_IRQHandler
|
||||||
|
QUADSPI_IRQHandler
|
||||||
|
LPTIM1_IRQHandler
|
||||||
|
CEC_IRQHandler
|
||||||
|
I2C4_EV_IRQHandler
|
||||||
|
I2C4_ER_IRQHandler
|
||||||
|
SPDIF_RX_IRQHandler
|
||||||
|
B .
|
||||||
|
|
||||||
|
ENDP
|
||||||
|
|
||||||
|
ALIGN
|
||||||
|
|
||||||
|
;*******************************************************************************
|
||||||
|
; User Stack and Heap initialization
|
||||||
|
;*******************************************************************************
|
||||||
|
IF :DEF:__MICROLIB
|
||||||
|
|
||||||
|
EXPORT __initial_sp
|
||||||
|
EXPORT __heap_base
|
||||||
|
EXPORT __heap_limit
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
|
||||||
|
IMPORT __use_two_region_memory
|
||||||
|
EXPORT __user_initial_stackheap
|
||||||
|
|
||||||
|
__user_initial_stackheap
|
||||||
|
|
||||||
|
LDR R0, = Heap_Mem
|
||||||
|
LDR R1, =(Stack_Mem + Stack_Size)
|
||||||
|
LDR R2, = (Heap_Mem + Heap_Size)
|
||||||
|
LDR R3, = Stack_Mem
|
||||||
|
BX LR
|
||||||
|
|
||||||
|
ALIGN
|
||||||
|
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
|
560
RTE/Device/STM32F746NGHx/stm32f7xx_hal_conf.h
Normal file
560
RTE/Device/STM32F746NGHx/stm32f7xx_hal_conf.h
Normal file
@ -0,0 +1,560 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file stm32f7xx_hal_conf.h
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V1.2.0 modified by ARM
|
||||||
|
* @date 23-September-2016
|
||||||
|
* @brief HAL configuration file.
|
||||||
|
******************************************************************************
|
||||||
|
* @attention
|
||||||
|
*
|
||||||
|
* <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||||
|
#ifndef __STM32F7xx_HAL_CONF_H
|
||||||
|
#define __STM32F7xx_HAL_CONF_H
|
||||||
|
|
||||||
|
#ifdef _RTE_
|
||||||
|
#include "RTE_Components.h" // Component selection
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Exported types ------------------------------------------------------------*/
|
||||||
|
/* Exported constants --------------------------------------------------------*/
|
||||||
|
|
||||||
|
/* ########################## Module Selection ############################## */
|
||||||
|
/**
|
||||||
|
* @brief This is the list of modules to be used in the HAL driver
|
||||||
|
*/
|
||||||
|
#ifdef RTE_DEVICE_HAL_COMMON
|
||||||
|
#define HAL_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_ADC
|
||||||
|
#define HAL_ADC_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_CAN
|
||||||
|
#define HAL_CAN_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_CEC
|
||||||
|
#define HAL_CEC_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_CRC
|
||||||
|
#define HAL_CRC_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_CRYP
|
||||||
|
#define HAL_CRYP_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_DAC
|
||||||
|
#define HAL_DAC_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_DCMI
|
||||||
|
#define HAL_DCMI_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_DMA
|
||||||
|
#define HAL_DMA_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_DMA2D
|
||||||
|
#define HAL_DMA2D_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_ETH
|
||||||
|
#define HAL_ETH_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#if defined (RTE_DEVICE_HAL_FLASH) || defined (RTE_DEVICE_HAL_COMMON)
|
||||||
|
#define HAL_FLASH_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_NAND
|
||||||
|
#define HAL_NAND_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_NOR
|
||||||
|
#define HAL_NOR_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_SRAM
|
||||||
|
#define HAL_SRAM_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_SDRAM
|
||||||
|
#define HAL_SDRAM_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_HASH
|
||||||
|
#define HAL_HASH_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_GPIO
|
||||||
|
#define HAL_GPIO_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_I2C
|
||||||
|
#define HAL_I2C_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_I2S
|
||||||
|
#define HAL_I2S_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_IWDG
|
||||||
|
#define HAL_IWDG_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_LPTIM
|
||||||
|
#define HAL_LPTIM_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_LTDC
|
||||||
|
#define HAL_LTDC_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_PWR
|
||||||
|
#define HAL_PWR_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_QSPI
|
||||||
|
#define HAL_QSPI_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#if defined RTE_DEVICE_HAL_RCC
|
||||||
|
#define HAL_RCC_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_RNG
|
||||||
|
#define HAL_RNG_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_RTC
|
||||||
|
#define HAL_RTC_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_SAI
|
||||||
|
#define HAL_SAI_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_SD
|
||||||
|
#define HAL_SD_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_SPDIFRX
|
||||||
|
#define HAL_SPDIFRX_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_SPI
|
||||||
|
#define HAL_SPI_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_TIM
|
||||||
|
#define HAL_TIM_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_UART
|
||||||
|
#define HAL_UART_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_USART
|
||||||
|
#define HAL_USART_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_IRDA
|
||||||
|
#define HAL_IRDA_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_SMARTCARD
|
||||||
|
#define HAL_SMARTCARD_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_WWDG
|
||||||
|
#define HAL_WWDG_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_CORTEX
|
||||||
|
#define HAL_CORTEX_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_PCD
|
||||||
|
#define HAL_PCD_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_HCD
|
||||||
|
#define HAL_HCD_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_DFSDM
|
||||||
|
#define HAL_DFSDM_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_DSI
|
||||||
|
#define HAL_DSI_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_JPEG
|
||||||
|
#define HAL_JPEG_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_MDIOS
|
||||||
|
#define HAL_MDIOS_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_SMBUS
|
||||||
|
#define HAL_SMBUS_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
#ifdef RTE_DEVICE_HAL_MMC
|
||||||
|
#define HAL_MMC_MODULE_ENABLED
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* ########################## HSE/HSI Values adaptation ##################### */
|
||||||
|
/**
|
||||||
|
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
|
||||||
|
* This value is used by the RCC HAL module to compute the system frequency
|
||||||
|
* (when HSE is used as system clock source, directly or through the PLL).
|
||||||
|
*/
|
||||||
|
#if !defined (HSE_VALUE)
|
||||||
|
#define HSE_VALUE 25000000U /*!< Value of the External oscillator in Hz */
|
||||||
|
#endif /* HSE_VALUE */
|
||||||
|
|
||||||
|
#if !defined (HSE_STARTUP_TIMEOUT)
|
||||||
|
#define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */
|
||||||
|
#endif /* HSE_STARTUP_TIMEOUT */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Internal High Speed oscillator (HSI) value.
|
||||||
|
* This value is used by the RCC HAL module to compute the system frequency
|
||||||
|
* (when HSI is used as system clock source, directly or through the PLL).
|
||||||
|
*/
|
||||||
|
#if !defined (HSI_VALUE)
|
||||||
|
#define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/
|
||||||
|
#endif /* HSI_VALUE */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Internal Low Speed oscillator (LSI) value.
|
||||||
|
*/
|
||||||
|
#if !defined (LSI_VALUE)
|
||||||
|
#define LSI_VALUE 32000U /*!< LSI Typical Value in Hz*/
|
||||||
|
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
|
||||||
|
The real value may vary depending on the variations
|
||||||
|
in voltage and temperature. */
|
||||||
|
/**
|
||||||
|
* @brief External Low Speed oscillator (LSE) value.
|
||||||
|
*/
|
||||||
|
#if !defined (LSE_VALUE)
|
||||||
|
#define LSE_VALUE 32768U /*!< Value of the External Low Speed oscillator in Hz */
|
||||||
|
#endif /* LSE_VALUE */
|
||||||
|
|
||||||
|
#if !defined (LSE_STARTUP_TIMEOUT)
|
||||||
|
#define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */
|
||||||
|
#endif /* LSE_STARTUP_TIMEOUT */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief External clock source for I2S peripheral
|
||||||
|
* This value is used by the I2S HAL module to compute the I2S clock source
|
||||||
|
* frequency, this source is inserted directly through I2S_CKIN pad.
|
||||||
|
*/
|
||||||
|
#if !defined (EXTERNAL_CLOCK_VALUE)
|
||||||
|
#define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the Internal oscillator in Hz*/
|
||||||
|
#endif /* EXTERNAL_CLOCK_VALUE */
|
||||||
|
|
||||||
|
/* Tip: To avoid modifying this file each time you need to use different HSE,
|
||||||
|
=== you can define the HSE value in your toolchain compiler preprocessor. */
|
||||||
|
|
||||||
|
/* ########################### System Configuration ######################### */
|
||||||
|
/**
|
||||||
|
* @brief This is the HAL system configuration section
|
||||||
|
*/
|
||||||
|
#define VDD_VALUE 3300U /*!< Value of VDD in mv */
|
||||||
|
#define TICK_INT_PRIORITY 0x0FU /*!< tick interrupt priority */
|
||||||
|
#define USE_RTOS 0U
|
||||||
|
#define PREFETCH_ENABLE 1U
|
||||||
|
#define ART_ACCLERATOR_ENABLE 1U /* To enable instruction cache and prefetch */
|
||||||
|
|
||||||
|
/* ########################## Assert Selection ############################## */
|
||||||
|
/**
|
||||||
|
* @brief Uncomment the line below to expanse the "assert_param" macro in the
|
||||||
|
* HAL drivers code
|
||||||
|
*/
|
||||||
|
/* #define USE_FULL_ASSERT 1 */
|
||||||
|
|
||||||
|
/* ################## Ethernet peripheral configuration ##################### */
|
||||||
|
|
||||||
|
/* Section 1 : Ethernet peripheral configuration */
|
||||||
|
|
||||||
|
/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */
|
||||||
|
#define MAC_ADDR0 2U
|
||||||
|
#define MAC_ADDR1 0U
|
||||||
|
#define MAC_ADDR2 0U
|
||||||
|
#define MAC_ADDR3 0U
|
||||||
|
#define MAC_ADDR4 0U
|
||||||
|
#define MAC_ADDR5 0U
|
||||||
|
|
||||||
|
/* Definition of the Ethernet driver buffers size and count */
|
||||||
|
#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */
|
||||||
|
#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */
|
||||||
|
#define ETH_RXBUFNB 4U /* 4 Rx buffers of size ETH_RX_BUF_SIZE */
|
||||||
|
#define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */
|
||||||
|
|
||||||
|
/* Section 2: PHY configuration section */
|
||||||
|
|
||||||
|
/* DP83848 PHY Address*/
|
||||||
|
#define DP83848_PHY_ADDRESS 0x01U
|
||||||
|
/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/
|
||||||
|
#define PHY_RESET_DELAY 0x000000FFU
|
||||||
|
/* PHY Configuration delay */
|
||||||
|
#define PHY_CONFIG_DELAY 0x00000FFFU
|
||||||
|
|
||||||
|
#define PHY_READ_TO 0x0000FFFFU
|
||||||
|
#define PHY_WRITE_TO 0x0000FFFFU
|
||||||
|
|
||||||
|
/* Section 3: Common PHY Registers */
|
||||||
|
|
||||||
|
#define PHY_BCR ((uint16_t)0x00U) /*!< Transceiver Basic Control Register */
|
||||||
|
#define PHY_BSR ((uint16_t)0x01U) /*!< Transceiver Basic Status Register */
|
||||||
|
|
||||||
|
#define PHY_RESET ((uint16_t)0x8000U) /*!< PHY Reset */
|
||||||
|
#define PHY_LOOPBACK ((uint16_t)0x4000U) /*!< Select loop-back mode */
|
||||||
|
#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */
|
||||||
|
#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */
|
||||||
|
#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */
|
||||||
|
#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */
|
||||||
|
#define PHY_AUTONEGOTIATION ((uint16_t)0x1000U) /*!< Enable auto-negotiation function */
|
||||||
|
#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U) /*!< Restart auto-negotiation function */
|
||||||
|
#define PHY_POWERDOWN ((uint16_t)0x0800U) /*!< Select the power down mode */
|
||||||
|
#define PHY_ISOLATE ((uint16_t)0x0400U) /*!< Isolate PHY from MII */
|
||||||
|
|
||||||
|
#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U) /*!< Auto-Negotiation process completed */
|
||||||
|
#define PHY_LINKED_STATUS ((uint16_t)0x0004U) /*!< Valid link established */
|
||||||
|
#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */
|
||||||
|
|
||||||
|
/* Section 4: Extended PHY Registers */
|
||||||
|
|
||||||
|
#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */
|
||||||
|
#define PHY_MICR ((uint16_t)0x11U) /*!< MII Interrupt Control Register */
|
||||||
|
#define PHY_MISR ((uint16_t)0x12U) /*!< MII Interrupt Status and Misc. Control Register */
|
||||||
|
|
||||||
|
#define PHY_LINK_STATUS ((uint16_t)0x0001U) /*!< PHY Link mask */
|
||||||
|
#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */
|
||||||
|
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */
|
||||||
|
|
||||||
|
#define PHY_MICR_INT_EN ((uint16_t)0x0002U) /*!< PHY Enable interrupts */
|
||||||
|
#define PHY_MICR_INT_OE ((uint16_t)0x0001U) /*!< PHY Enable output interrupt events */
|
||||||
|
|
||||||
|
#define PHY_MISR_LINK_INT_EN ((uint16_t)0x0020U) /*!< Enable Interrupt on change of link status */
|
||||||
|
#define PHY_LINK_INTERRUPT ((uint16_t)0x2000U) /*!< PHY link status interrupt mask */
|
||||||
|
|
||||||
|
/* ################## SPI peripheral configuration ########################## */
|
||||||
|
|
||||||
|
/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
|
||||||
|
* Activated: CRC code is present inside driver
|
||||||
|
* Deactivated: CRC code cleaned from driver
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define USE_SPI_CRC 1U
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* @brief Include module's header file
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef HAL_RCC_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_rcc.h"
|
||||||
|
#endif /* HAL_RCC_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_GPIO_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_gpio.h"
|
||||||
|
#endif /* HAL_GPIO_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_DMA_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_dma.h"
|
||||||
|
#endif /* HAL_DMA_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_CORTEX_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_cortex.h"
|
||||||
|
#endif /* HAL_CORTEX_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_ADC_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_adc.h"
|
||||||
|
#endif /* HAL_ADC_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_CAN_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_can.h"
|
||||||
|
#endif /* HAL_CAN_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_CEC_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_cec.h"
|
||||||
|
#endif /* HAL_CEC_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_CRC_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_crc.h"
|
||||||
|
#endif /* HAL_CRC_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_CRYP_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_cryp.h"
|
||||||
|
#endif /* HAL_CRYP_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_DMA2D_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_dma2d.h"
|
||||||
|
#endif /* HAL_DMA2D_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_DAC_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_dac.h"
|
||||||
|
#endif /* HAL_DAC_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_DCMI_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_dcmi.h"
|
||||||
|
#endif /* HAL_DCMI_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_ETH_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_eth.h"
|
||||||
|
#endif /* HAL_ETH_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_FLASH_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_flash.h"
|
||||||
|
#endif /* HAL_FLASH_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_SRAM_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_sram.h"
|
||||||
|
#endif /* HAL_SRAM_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_NOR_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_nor.h"
|
||||||
|
#endif /* HAL_NOR_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_NAND_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_nand.h"
|
||||||
|
#endif /* HAL_NAND_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_SDRAM_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_sdram.h"
|
||||||
|
#endif /* HAL_SDRAM_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_HASH_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_hash.h"
|
||||||
|
#endif /* HAL_HASH_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_I2C_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_i2c.h"
|
||||||
|
#endif /* HAL_I2C_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_I2S_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_i2s.h"
|
||||||
|
#endif /* HAL_I2S_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_IWDG_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_iwdg.h"
|
||||||
|
#endif /* HAL_IWDG_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_LPTIM_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_lptim.h"
|
||||||
|
#endif /* HAL_LPTIM_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_LTDC_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_ltdc.h"
|
||||||
|
#endif /* HAL_LTDC_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_PWR_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_pwr.h"
|
||||||
|
#endif /* HAL_PWR_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_QSPI_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_qspi.h"
|
||||||
|
#endif /* HAL_QSPI_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_RNG_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_rng.h"
|
||||||
|
#endif /* HAL_RNG_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_RTC_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_rtc.h"
|
||||||
|
#endif /* HAL_RTC_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_SAI_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_sai.h"
|
||||||
|
#endif /* HAL_SAI_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_SD_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_sd.h"
|
||||||
|
#endif /* HAL_SD_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_SPDIFRX_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_spdifrx.h"
|
||||||
|
#endif /* HAL_SPDIFRX_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_SPI_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_spi.h"
|
||||||
|
#endif /* HAL_SPI_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_TIM_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_tim.h"
|
||||||
|
#endif /* HAL_TIM_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_UART_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_uart.h"
|
||||||
|
#endif /* HAL_UART_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_USART_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_usart.h"
|
||||||
|
#endif /* HAL_USART_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_IRDA_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_irda.h"
|
||||||
|
#endif /* HAL_IRDA_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_SMARTCARD_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_smartcard.h"
|
||||||
|
#endif /* HAL_SMARTCARD_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_WWDG_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_wwdg.h"
|
||||||
|
#endif /* HAL_WWDG_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_PCD_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_pcd.h"
|
||||||
|
#endif /* HAL_PCD_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_HCD_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_hcd.h"
|
||||||
|
#endif /* HAL_HCD_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_DFSDM_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_dfsdm.h"
|
||||||
|
#endif /* HAL_DFSDM_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_DSI_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_dsi.h"
|
||||||
|
#endif /* HAL_DSI_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_JPEG_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_jpeg.h"
|
||||||
|
#endif /* HAL_JPEG_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_MDIOS_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_mdios.h"
|
||||||
|
#endif /* HAL_MDIOS_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_SMBUS_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_smbus.h"
|
||||||
|
#endif /* HAL_SMBUS_MODULE_ENABLED */
|
||||||
|
|
||||||
|
#ifdef HAL_MMC_MODULE_ENABLED
|
||||||
|
#include "stm32f7xx_hal_mmc.h"
|
||||||
|
#endif /* HAL_MMC_MODULE_ENABLED */
|
||||||
|
|
||||||
|
/* Exported macro ------------------------------------------------------------*/
|
||||||
|
#ifdef USE_FULL_ASSERT
|
||||||
|
/**
|
||||||
|
* @brief The assert_param macro is used for function's parameters check.
|
||||||
|
* @param expr: If expr is false, it calls assert_failed function
|
||||||
|
* which reports the name of the source file and the source
|
||||||
|
* line number of the call that failed.
|
||||||
|
* If expr is true, it returns no value.
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
|
||||||
|
/* Exported functions ------------------------------------------------------- */
|
||||||
|
void assert_failed(uint8_t* file, uint32_t line);
|
||||||
|
#else
|
||||||
|
#define assert_param(expr) ((void)0)
|
||||||
|
#endif /* USE_FULL_ASSERT */
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __STM32F7xx_HAL_CONF_H */
|
||||||
|
|
||||||
|
|
||||||
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
280
RTE/Device/STM32F746NGHx/system_stm32f7xx.c
Normal file
280
RTE/Device/STM32F746NGHx/system_stm32f7xx.c
Normal file
@ -0,0 +1,280 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* @file system_stm32f7xx.c
|
||||||
|
* @author MCD Application Team
|
||||||
|
* @version V1.2.0
|
||||||
|
* @date 30-December-2016
|
||||||
|
* @brief CMSIS Cortex-M7 Device Peripheral Access Layer System Source File.
|
||||||
|
*
|
||||||
|
* This file provides two functions and one global variable to be called from
|
||||||
|
* user application:
|
||||||
|
* - SystemInit(): This function is called at startup just after reset and
|
||||||
|
* before branch to main program. This call is made inside
|
||||||
|
* the "startup_stm32f7xx.s" file.
|
||||||
|
*
|
||||||
|
* - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
|
||||||
|
* by the user application to setup the SysTick
|
||||||
|
* timer or configure other parameters.
|
||||||
|
*
|
||||||
|
* - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
|
||||||
|
* be called whenever the core clock is changed
|
||||||
|
* during program execution.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
* @attention
|
||||||
|
*
|
||||||
|
* <h2><center>© COPYRIGHT 2016 STMicroelectronics</center></h2>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup CMSIS
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup stm32f7xx_system
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup STM32F7xx_System_Private_Includes
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "stm32f7xx.h"
|
||||||
|
|
||||||
|
#if !defined (HSE_VALUE)
|
||||||
|
#define HSE_VALUE ((uint32_t)25000000) /*!< Default value of the External oscillator in Hz */
|
||||||
|
#endif /* HSE_VALUE */
|
||||||
|
|
||||||
|
#if !defined (HSI_VALUE)
|
||||||
|
#define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/
|
||||||
|
#endif /* HSI_VALUE */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup STM32F7xx_System_Private_TypesDefinitions
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup STM32F7xx_System_Private_Defines
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/************************* Miscellaneous Configuration ************************/
|
||||||
|
|
||||||
|
/*!< Uncomment the following line if you need to relocate your vector Table in
|
||||||
|
Internal SRAM. */
|
||||||
|
/* #define VECT_TAB_SRAM */
|
||||||
|
#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field.
|
||||||
|
This value must be a multiple of 0x200. */
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup STM32F7xx_System_Private_Macros
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup STM32F7xx_System_Private_Variables
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* This variable is updated in three ways:
|
||||||
|
1) by calling CMSIS function SystemCoreClockUpdate()
|
||||||
|
2) by calling HAL API function HAL_RCC_GetHCLKFreq()
|
||||||
|
3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
|
||||||
|
Note: If you use this function to configure the system clock; then there
|
||||||
|
is no need to call the 2 first functions listed above, since SystemCoreClock
|
||||||
|
variable is updated automatically.
|
||||||
|
*/
|
||||||
|
uint32_t SystemCoreClock = 16000000;
|
||||||
|
const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
|
||||||
|
const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup STM32F7xx_System_Private_FunctionPrototypes
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** @addtogroup STM32F7xx_System_Private_Functions
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Setup the microcontroller system
|
||||||
|
* Initialize the Embedded Flash Interface, the PLL and update the
|
||||||
|
* SystemFrequency variable.
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void SystemInit(void)
|
||||||
|
{
|
||||||
|
/* FPU settings ------------------------------------------------------------*/
|
||||||
|
#if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
|
||||||
|
SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
|
||||||
|
#endif
|
||||||
|
/* Reset the RCC clock configuration to the default reset state ------------*/
|
||||||
|
/* Set HSION bit */
|
||||||
|
RCC->CR |= (uint32_t)0x00000001;
|
||||||
|
|
||||||
|
/* Reset CFGR register */
|
||||||
|
RCC->CFGR = 0x00000000;
|
||||||
|
|
||||||
|
/* Reset HSEON, CSSON and PLLON bits */
|
||||||
|
RCC->CR &= (uint32_t)0xFEF6FFFF;
|
||||||
|
|
||||||
|
/* Reset PLLCFGR register */
|
||||||
|
RCC->PLLCFGR = 0x24003010;
|
||||||
|
|
||||||
|
/* Reset HSEBYP bit */
|
||||||
|
RCC->CR &= (uint32_t)0xFFFBFFFF;
|
||||||
|
|
||||||
|
/* Disable all interrupts */
|
||||||
|
RCC->CIR = 0x00000000;
|
||||||
|
|
||||||
|
/* Configure the Vector Table location add offset address ------------------*/
|
||||||
|
#ifdef VECT_TAB_SRAM
|
||||||
|
SCB->VTOR = RAMDTCM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
|
||||||
|
#else
|
||||||
|
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Update SystemCoreClock variable according to Clock Register Values.
|
||||||
|
* The SystemCoreClock variable contains the core clock (HCLK), it can
|
||||||
|
* be used by the user application to setup the SysTick timer or configure
|
||||||
|
* other parameters.
|
||||||
|
*
|
||||||
|
* @note Each time the core clock (HCLK) changes, this function must be called
|
||||||
|
* to update SystemCoreClock variable value. Otherwise, any configuration
|
||||||
|
* based on this variable will be incorrect.
|
||||||
|
*
|
||||||
|
* @note - The system frequency computed by this function is not the real
|
||||||
|
* frequency in the chip. It is calculated based on the predefined
|
||||||
|
* constant and the selected clock source:
|
||||||
|
*
|
||||||
|
* - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
|
||||||
|
*
|
||||||
|
* - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
|
||||||
|
*
|
||||||
|
* - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**)
|
||||||
|
* or HSI_VALUE(*) multiplied/divided by the PLL factors.
|
||||||
|
*
|
||||||
|
* (*) HSI_VALUE is a constant defined in stm32f7xx_hal_conf.h file (default value
|
||||||
|
* 16 MHz) but the real value may vary depending on the variations
|
||||||
|
* in voltage and temperature.
|
||||||
|
*
|
||||||
|
* (**) HSE_VALUE is a constant defined in stm32f7xx_hal_conf.h file (default value
|
||||||
|
* 25 MHz), user has to ensure that HSE_VALUE is same as the real
|
||||||
|
* frequency of the crystal used. Otherwise, this function may
|
||||||
|
* have wrong result.
|
||||||
|
*
|
||||||
|
* - The result of this function could be not correct when using fractional
|
||||||
|
* value for HSE crystal.
|
||||||
|
*
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void SystemCoreClockUpdate(void)
|
||||||
|
{
|
||||||
|
uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2;
|
||||||
|
|
||||||
|
/* Get SYSCLK source -------------------------------------------------------*/
|
||||||
|
tmp = RCC->CFGR & RCC_CFGR_SWS;
|
||||||
|
|
||||||
|
switch (tmp)
|
||||||
|
{
|
||||||
|
case 0x00: /* HSI used as system clock source */
|
||||||
|
SystemCoreClock = HSI_VALUE;
|
||||||
|
break;
|
||||||
|
case 0x04: /* HSE used as system clock source */
|
||||||
|
SystemCoreClock = HSE_VALUE;
|
||||||
|
break;
|
||||||
|
case 0x08: /* PLL used as system clock source */
|
||||||
|
|
||||||
|
/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N
|
||||||
|
SYSCLK = PLL_VCO / PLL_P
|
||||||
|
*/
|
||||||
|
pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22;
|
||||||
|
pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM;
|
||||||
|
|
||||||
|
if (pllsource != 0)
|
||||||
|
{
|
||||||
|
/* HSE used as PLL clock source */
|
||||||
|
pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* HSI used as PLL clock source */
|
||||||
|
pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6);
|
||||||
|
}
|
||||||
|
|
||||||
|
pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2;
|
||||||
|
SystemCoreClock = pllvco/pllp;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
SystemCoreClock = HSI_VALUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
/* Compute HCLK frequency --------------------------------------------------*/
|
||||||
|
/* Get HCLK prescaler */
|
||||||
|
tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
|
||||||
|
/* HCLK frequency */
|
||||||
|
SystemCoreClock >>= tmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
38
RTE/Hesso_pack/clock_216.c
Normal file
38
RTE/Hesso_pack/clock_216.c
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
#include "clock_216.h"
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Setup system clock to 216MHz
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void SystemClock_Config (void) {
|
||||||
|
RCC_ClkInitTypeDef RCC_ClkInitStruct;
|
||||||
|
RCC_OscInitTypeDef RCC_OscInitStruct;
|
||||||
|
|
||||||
|
/* Enable HSE Oscillator and activate PLL with HSE as source */
|
||||||
|
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
|
||||||
|
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
||||||
|
RCC_OscInitStruct.HSIState = RCC_HSI_OFF;
|
||||||
|
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||||
|
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
||||||
|
RCC_OscInitStruct.PLL.PLLM = 25;
|
||||||
|
RCC_OscInitStruct.PLL.PLLN = 432;
|
||||||
|
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
||||||
|
RCC_OscInitStruct.PLL.PLLQ = 9;
|
||||||
|
HAL_RCC_OscConfig(&RCC_OscInitStruct);
|
||||||
|
|
||||||
|
/* Activate the OverDrive to reach the 216 MHz Frequency */
|
||||||
|
HAL_PWREx_EnableOverDrive();
|
||||||
|
|
||||||
|
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
|
||||||
|
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
|
||||||
|
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
||||||
|
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
||||||
|
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
|
||||||
|
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
|
||||||
|
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
17
RTE/Hesso_pack/clock_216.h
Normal file
17
RTE/Hesso_pack/clock_216.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/************************************************************************//**
|
||||||
|
* \file clock_216.h
|
||||||
|
* \brief Function to set the system clock to 216 MHz
|
||||||
|
* \author pascal (dot) sartoretti (at) hevs (dot) ch
|
||||||
|
***************************************************************************/
|
||||||
|
#ifndef __CLOCK_216_H
|
||||||
|
#define __CLOCK_216_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Inits the system clock to 216 MHz
|
||||||
|
***************************************************************************/
|
||||||
|
extern void SystemClock_Config (void);
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __CLOCK_216_H */
|
58
RTE/Hesso_pack/ext_buttons.c
Normal file
58
RTE/Hesso_pack/ext_buttons.c
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
#include "ext_buttons.h"
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
int32_t Ext_Buttons_Init (void) {
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct;
|
||||||
|
|
||||||
|
/* GPIO Ports Clock Enable */
|
||||||
|
__HAL_RCC_GPIOG_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOI_CLK_ENABLE();
|
||||||
|
|
||||||
|
/* Configure GPIO pin: PI2 (BTN_0) */
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_2;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
|
||||||
|
/* Configure GPIO pin: PI3 (BTN_1) */
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_3;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
|
||||||
|
/* Configure GPIO pin: PG7 (BTN_2) */
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_7;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
|
||||||
|
/* Configure GPIO pin: PG6 (BTN_3) */
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_6;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
uint32_t Ext_Buttons_GetState (void) {
|
||||||
|
uint32_t val = 0;
|
||||||
|
|
||||||
|
if (HAL_GPIO_ReadPin(GPIOI, GPIO_PIN_2) == GPIO_PIN_RESET) {
|
||||||
|
val |= 1;
|
||||||
|
}
|
||||||
|
if (HAL_GPIO_ReadPin(GPIOI, GPIO_PIN_3) == GPIO_PIN_RESET) {
|
||||||
|
val |= 2;
|
||||||
|
}
|
||||||
|
if (HAL_GPIO_ReadPin(GPIOG, GPIO_PIN_7) == GPIO_PIN_RESET) {
|
||||||
|
val |= 4;
|
||||||
|
}
|
||||||
|
if (HAL_GPIO_ReadPin(GPIOG, GPIO_PIN_6) == GPIO_PIN_RESET) {
|
||||||
|
val |= 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
23
RTE/Hesso_pack/ext_buttons.h
Normal file
23
RTE/Hesso_pack/ext_buttons.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/************************************************************************//**
|
||||||
|
* \file ext_buttons.h
|
||||||
|
* \brief Function to use the extension uart
|
||||||
|
* \author pascal (dot) sartoretti (at) hevs (dot) ch
|
||||||
|
***************************************************************************/
|
||||||
|
#ifndef __EXT_BUTTONS_H
|
||||||
|
#define __EXT_BUTTONS_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Inits the external buttons usage.
|
||||||
|
* \return Always #0
|
||||||
|
***************************************************************************/
|
||||||
|
extern int32_t Ext_Buttons_Init(void);
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Reads the buttons status
|
||||||
|
* \return The binary state of the buttons (example 4 for button 2 pressed).
|
||||||
|
***************************************************************************/
|
||||||
|
extern uint32_t Ext_Buttons_GetState(void);
|
||||||
|
|
||||||
|
#endif /* __BOARD_BUTTONS_H */
|
579
RTE/Hesso_pack/ext_keyboard.c
Normal file
579
RTE/Hesso_pack/ext_keyboard.c
Normal file
@ -0,0 +1,579 @@
|
|||||||
|
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
#include "ext_keyboard.h"
|
||||||
|
|
||||||
|
#define TRUE 1
|
||||||
|
#define FALSE 0
|
||||||
|
#define NORMAL 0
|
||||||
|
#define SHIFT 1
|
||||||
|
#define CONTROL 2
|
||||||
|
#define ALT 3
|
||||||
|
#define TABULATOR 0x09
|
||||||
|
#define BACKSPACE 0x08
|
||||||
|
#define ESCAPE 0x1B
|
||||||
|
#define CR 0x0D
|
||||||
|
#define F1 0x10
|
||||||
|
#define F2 0x11
|
||||||
|
#define F3 0x12
|
||||||
|
#define F4 0x13
|
||||||
|
#define F5 0x14
|
||||||
|
#define F6 0x15
|
||||||
|
#define F7 0x16
|
||||||
|
#define F8 0x17
|
||||||
|
#define F9 0x18
|
||||||
|
#define F10 0x19
|
||||||
|
#define F11 0x1A
|
||||||
|
#define F12 0x1B
|
||||||
|
|
||||||
|
static SPI_HandleTypeDef keyboard; // SPI keyboard handle
|
||||||
|
uint8_t ext_kbChar; // exported to global use
|
||||||
|
uint8_t scan;
|
||||||
|
static uint32_t newChar=0; // internal flag
|
||||||
|
uint8_t release;
|
||||||
|
uint8_t state;
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
uint8_t ScanCodeAnalyse(uint8_t scan)
|
||||||
|
{
|
||||||
|
switch(scan)
|
||||||
|
{
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0xF0: release = TRUE; return 0 ; /* release key code */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x14: if (release == FALSE)
|
||||||
|
state = CONTROL;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
state = NORMAL;
|
||||||
|
release = FALSE;
|
||||||
|
}
|
||||||
|
return 0x00;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x11: if (release == FALSE)
|
||||||
|
state = ALT;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
state = NORMAL;
|
||||||
|
release = FALSE;
|
||||||
|
}
|
||||||
|
return 0x00;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x12:
|
||||||
|
case 0x58:
|
||||||
|
case 0x59: if (release == FALSE)
|
||||||
|
state = SHIFT;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
state = NORMAL;
|
||||||
|
release = FALSE;
|
||||||
|
}
|
||||||
|
return 0x00;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
if (release == TRUE)
|
||||||
|
{
|
||||||
|
release = FALSE;
|
||||||
|
return 0x00;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
switch(scan)
|
||||||
|
{
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x05: return F1; // 'F1' to 'F12'
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x06: return F2;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x04: return F3;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x0c: return F4;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x03: return F5;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x0B: return F6;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x83: return F7;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x0A: return F8;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x01: return F9;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x09: return F10;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x78: return F11;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x07: return F12;
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x16: switch (state) /* key '1' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '1';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '!';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x1E: switch (state) /* key '2' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '2';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '@';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x26: switch (state) /* key '3' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '3';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '#';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x25: switch (state) /* key '4' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '4';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '$';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x2E: switch (state) /* key '5' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '5';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '%';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x36: switch (state) /* key '6' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '6';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '^';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x6C:
|
||||||
|
case 0x3D: switch (state) /* key '7' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '7';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '&';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x75:
|
||||||
|
case 0x3E: switch (state) /* key '8' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '8';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '*';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x7D:
|
||||||
|
case 0x46: switch (state) /* key '9' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '9';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '(';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x7C:
|
||||||
|
case 0x45: switch (state) /* key '0' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '0';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return ')';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x7E: switch (state) /* key '*' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '*';
|
||||||
|
case CONTROL : return F11;
|
||||||
|
case SHIFT : return '?';
|
||||||
|
default : return 0xBF; /* ? vertical flipped */
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x4E: switch (state) /* key '-' */
|
||||||
|
{
|
||||||
|
case NORMAL : return '-';
|
||||||
|
case CONTROL : return 0;
|
||||||
|
case SHIFT : return '_';
|
||||||
|
default : return 0x00;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x65: return 0x1B; /* End button -> Escape command */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x15: switch (state) /* key 'Q' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'Q';
|
||||||
|
case CONTROL : return 0x11;
|
||||||
|
default : return 'q';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x1D: switch (state) /* key 'W' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'W';
|
||||||
|
case CONTROL : return 0x17;
|
||||||
|
default : return 'w';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x24: switch (state) /* key 'E' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'E';
|
||||||
|
case CONTROL : return 0x05;
|
||||||
|
default : return 'e';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x2D: switch (state) /* key 'R' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'R';
|
||||||
|
case CONTROL : return 0x12;
|
||||||
|
default : return 'r';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x2C: switch (state) /* key 'T' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'T';
|
||||||
|
case CONTROL : return 0x14;
|
||||||
|
default : return 't';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x35: switch (state) /* key 'Z' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'Y';
|
||||||
|
case CONTROL : return 0x1A;
|
||||||
|
default : return 'y';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x6B:
|
||||||
|
case 0x3C: switch (state) /* key 'U' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'U';
|
||||||
|
case CONTROL : return 0x15;
|
||||||
|
default : return 'u';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x73:
|
||||||
|
case 0x43: switch (state) /* key 'I' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'I';
|
||||||
|
case CONTROL : return 0x09;
|
||||||
|
default : return 'i';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x74:
|
||||||
|
case 0x44: switch (state) /* key 'O' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'O';
|
||||||
|
case CONTROL : return 0x0F;
|
||||||
|
default : return 'o';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x7B:
|
||||||
|
case 0x4D: switch (state) /* key 'P' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'P';
|
||||||
|
case CONTROL : return 0x10;
|
||||||
|
default : return 'p';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x5B: switch (state) /* key 'è' */
|
||||||
|
{
|
||||||
|
case SHIFT : return '}';
|
||||||
|
case ALT : return 0;
|
||||||
|
default : return ']';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x66: return 0x08; /* Backspace */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x0D: return 0x09; /* Horizontal tabulator */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x1C: switch (state) /* key 'A' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'A';
|
||||||
|
case CONTROL : return 0x01;
|
||||||
|
default : return 'a';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x1B: switch (state) /* key 'S' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'S';
|
||||||
|
case CONTROL : return 0x13;
|
||||||
|
default : return 's';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x23: switch (state) /* key 'D' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'D';
|
||||||
|
case CONTROL : return 0x04;
|
||||||
|
default : return 'd';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x2B: switch (state) /* key 'F' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'F';
|
||||||
|
case CONTROL : return 0x06;
|
||||||
|
default : return 'f';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x34: switch (state) /* key 'G' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'G';
|
||||||
|
case CONTROL : return 0x07;
|
||||||
|
default : return 'g';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x33: switch (state) /* key 'H' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'H';
|
||||||
|
case CONTROL : return 0x08;
|
||||||
|
default : return 'h';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x69:
|
||||||
|
case 0x3B: switch (state) /* key 'J' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'J';
|
||||||
|
case CONTROL : return 0x0A;
|
||||||
|
default : return 'j';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x72:
|
||||||
|
case 0x42: switch (state) /* key 'K' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'K';
|
||||||
|
case CONTROL : return 0x0B;
|
||||||
|
default : return 'k';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x7A:
|
||||||
|
case 0x4B: switch (state) /* key 'L' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'L';
|
||||||
|
case CONTROL : return 0x0C;
|
||||||
|
default : return 'l';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x54: switch (state) /* key '[' */
|
||||||
|
{
|
||||||
|
case SHIFT : return '{';
|
||||||
|
case ALT : return 0; /* beta symbol */
|
||||||
|
default : return '[';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x52: switch (state) /* key ''' */
|
||||||
|
{
|
||||||
|
case SHIFT : return '"';
|
||||||
|
case ALT : return 0;
|
||||||
|
default : return 0x27;
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x1A: switch (state) /* key 'Y' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'Z';
|
||||||
|
case CONTROL : return 0x19;
|
||||||
|
default : return 'z';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x22: switch (state) /* key 'X' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'X';
|
||||||
|
case CONTROL : return 0x18;
|
||||||
|
default : return 'x';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x21: switch (state) /* key 'C' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'C';
|
||||||
|
case CONTROL : return 0x03;
|
||||||
|
default : return 'c';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x2A: switch (state) /* key 'V' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'V';
|
||||||
|
case CONTROL : return 0x16;
|
||||||
|
default : return 'v';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x32: switch (state) /* key 'B' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'B';
|
||||||
|
case CONTROL : return 0x02;
|
||||||
|
default : return 'b';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x31: switch (state) /* key 'N' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'N';
|
||||||
|
case CONTROL : return 0x0E;
|
||||||
|
default : return 'n';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x70:
|
||||||
|
case 0x3A: switch (state) /* key 'M' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'M';
|
||||||
|
case CONTROL : return 0x0D;
|
||||||
|
default : return 'm';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x41: switch (state) /* key ',' */
|
||||||
|
{
|
||||||
|
case SHIFT : return '<';
|
||||||
|
default : return ',';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x49: switch (state) /* key '.' */
|
||||||
|
{
|
||||||
|
case SHIFT : return '>';
|
||||||
|
default : return '.';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x5A: return 0x0D; /* Carriage return (Enter) */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x29: return ' '; /* Spacebar */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x63: switch (state) /* key 'UP ARROW' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'U';
|
||||||
|
default : return 'u';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x60: switch (state) /* key 'DOWN ARROW' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'D';
|
||||||
|
default : return 'd';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x61: switch (state) /* key 'LEFT ARROW' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'L';
|
||||||
|
default : return 'l';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x6A: switch (state) /* key 'RIGHT ARROW' */
|
||||||
|
{
|
||||||
|
case SHIFT : return 'R';
|
||||||
|
default : return 'r';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x0E: switch (state) /* key 'apostroph' */
|
||||||
|
{
|
||||||
|
case SHIFT : return '~';
|
||||||
|
default : return '`';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x79:
|
||||||
|
case 0x4C: switch (state) /* key ';' */
|
||||||
|
{
|
||||||
|
case SHIFT : return ':';
|
||||||
|
default : return ';';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x4A: switch (state) /* key '/' */
|
||||||
|
{
|
||||||
|
case SHIFT : return '?';
|
||||||
|
default : return '/';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x5D: switch (state) /* key '\' */
|
||||||
|
{
|
||||||
|
case SHIFT : return '|';
|
||||||
|
default : return '\\';
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
case 0x55: switch (state) /* key '=' */
|
||||||
|
{
|
||||||
|
case SHIFT : return '+';
|
||||||
|
default : return '=';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void EXTI9_5_IRQHandler(void)
|
||||||
|
{
|
||||||
|
// read keyboard data and store it on global variable
|
||||||
|
HAL_GPIO_WritePin(GPIOI, GPIO_PIN_0, GPIO_PIN_RESET); // SPI CS activate
|
||||||
|
HAL_SPI_Receive(&keyboard,&scan,1,100); // SPI read
|
||||||
|
HAL_GPIO_WritePin(GPIOI, GPIO_PIN_0, GPIO_PIN_SET); // SPI CS desactivate
|
||||||
|
// process irq
|
||||||
|
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_8); // clear irq and callback
|
||||||
|
ext_kbChar = ScanCodeAnalyse(scan);
|
||||||
|
if(ext_kbChar != 0)
|
||||||
|
{
|
||||||
|
newChar = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void Ext_Keyboard_Init(void)
|
||||||
|
{
|
||||||
|
volatile uint8_t dummy;
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct;
|
||||||
|
|
||||||
|
/* Peripheral clock enable */
|
||||||
|
__HAL_RCC_GPIOI_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||||
|
__HAL_RCC_GPIOF_CLK_ENABLE();
|
||||||
|
__HAL_RCC_SPI2_CLK_ENABLE();
|
||||||
|
|
||||||
|
/**SPI2 GPIO Configuration
|
||||||
|
PI1 ------> SPI2_SCK
|
||||||
|
PB14 ------> SPI2_MISO
|
||||||
|
PB15 ------> SPI2_MOSI
|
||||||
|
PI0 ------> /SPI_CB_SS
|
||||||
|
PF8 ------> /SPI_INT
|
||||||
|
*/
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_1;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
|
||||||
|
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
|
||||||
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_0;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FAST;
|
||||||
|
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_8;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
||||||
|
keyboard.Instance = SPI2;
|
||||||
|
keyboard.Init.Mode = SPI_MODE_MASTER;
|
||||||
|
keyboard.Init.Direction = SPI_DIRECTION_2LINES;
|
||||||
|
keyboard.Init.DataSize = SPI_DATASIZE_8BIT;
|
||||||
|
keyboard.Init.CLKPolarity = SPI_POLARITY_HIGH;
|
||||||
|
keyboard.Init.CLKPhase = SPI_PHASE_1EDGE;
|
||||||
|
keyboard.Init.NSS = SPI_NSS_SOFT;
|
||||||
|
keyboard.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; //3.333MHz -> (Fosc/4) / 16
|
||||||
|
keyboard.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
||||||
|
keyboard.Init.TIMode = SPI_TIMODE_DISABLE;
|
||||||
|
keyboard.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||||
|
keyboard.Init.CRCPolynomial = 7;
|
||||||
|
keyboard.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
|
||||||
|
keyboard.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
|
||||||
|
HAL_SPI_Init(&keyboard);
|
||||||
|
// dummy read to clear any glitch
|
||||||
|
HAL_GPIO_WritePin(GPIOI, GPIO_PIN_0, GPIO_PIN_RESET);
|
||||||
|
HAL_SPI_Receive(&keyboard,(uint8_t *)&dummy,1,10);
|
||||||
|
HAL_GPIO_WritePin(GPIOI, GPIO_PIN_0, GPIO_PIN_SET);
|
||||||
|
// enable interrupts on keyboard ISR
|
||||||
|
HAL_NVIC_SetPriority(EXTI9_5_IRQn,5,5);
|
||||||
|
HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
uint8_t Ext_Keyboard_Read(void)
|
||||||
|
{
|
||||||
|
while(newChar == 0) // wait new char coming
|
||||||
|
{}
|
||||||
|
newChar = 0; // clear it
|
||||||
|
return ext_kbChar; // return read char
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
53
RTE/Hesso_pack/ext_keyboard.h
Normal file
53
RTE/Hesso_pack/ext_keyboard.h
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
/************************************************************************//**
|
||||||
|
* \file ext_keyboard.h
|
||||||
|
* \brief Function to use the extension keyboard
|
||||||
|
* \author pascal (dot) sartoretti (at) hevs (dot) ch
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __EXT_KEYBOARD_H
|
||||||
|
#define __EXT_KEYBOARD_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
extern uint8_t ext_kbChar;
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Inits the extension keyboard
|
||||||
|
* The extension keyboard use interrupt from keyboard (PF8)
|
||||||
|
*
|
||||||
|
* Read keyboard non blocking (interrupt):
|
||||||
|
* ---------------------------------------
|
||||||
|
* To read the keyboard, the callback function HAL_GPIO_EXTI_Callback has
|
||||||
|
* to be implemented.
|
||||||
|
* the example below send the keyboard char to the serial port
|
||||||
|
* void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||||
|
* {
|
||||||
|
* if(GPIO_Pin == GPIO_PIN_8)
|
||||||
|
* {
|
||||||
|
* HAL_UART_Transmit(&ext_uart, &ext_kbChar, 1,100);;
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* Read keyboard blocking (pooling until key pressed):
|
||||||
|
* ---------------------------------------------------
|
||||||
|
* The functions below have to be used:
|
||||||
|
* pressed = Ext_Keyboard_Read();
|
||||||
|
*
|
||||||
|
* \warning The external interrupts (5,6,7,9) have to be implemented
|
||||||
|
* in the ext_keyboard.c file because they share the same processor irq
|
||||||
|
* EXTI9_5_IRQHandler.
|
||||||
|
***************************************************************************/
|
||||||
|
void Ext_Keyboard_Init(void);
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Read the pressed key on extension keyboard
|
||||||
|
* \return The ASCII code of key pressed.
|
||||||
|
*
|
||||||
|
* \warning This function is blocking until a char is received
|
||||||
|
***************************************************************************/
|
||||||
|
uint8_t Ext_Keyboard_Read(void);
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __BOARD_LED_H */
|
||||||
|
|
224
RTE/Hesso_pack/ext_led.c
Normal file
224
RTE/Hesso_pack/ext_led.c
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
#include "ext_led.h"
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
static const uint8_t cie1931[101] =
|
||||||
|
{
|
||||||
|
0, 0, 1, 1, 1, 1, 2, 2, 2, 3,
|
||||||
|
3, 3, 4, 4, 4, 5, 5, 6, 6, 7,
|
||||||
|
8, 8, 9, 10, 10, 11, 12, 13, 14, 15,
|
||||||
|
16, 17, 18, 19, 20, 22, 23, 24, 26, 27,
|
||||||
|
29, 30, 32, 34, 35, 37, 39, 41, 43, 45,
|
||||||
|
47, 49, 51, 54, 56, 58, 61, 64, 66, 69,
|
||||||
|
72, 75, 78, 81, 84, 87, 90, 93, 97, 100,
|
||||||
|
104, 108, 111, 115, 119, 123, 127, 131, 136, 140,
|
||||||
|
145, 149, 154, 159, 163, 168, 173, 179, 184, 189,
|
||||||
|
195, 200, 206, 212, 217, 223, 230, 236, 242, 248,
|
||||||
|
255,
|
||||||
|
};
|
||||||
|
|
||||||
|
#if LIGHTNESS_PWM_STEP != 100
|
||||||
|
#error this cie1931 array supports only 100 steps, feel free to implement your own
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
uint8_t lightness_to_pwm(uint8_t percentage)
|
||||||
|
{
|
||||||
|
if(percentage > (LIGHTNESS_PWM_STEP-1))
|
||||||
|
percentage = (LIGHTNESS_PWM_STEP-1);
|
||||||
|
|
||||||
|
return cie1931[percentage];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
int32_t Ext_LED_Init(void) {
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct;
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// Configure GPIO pin: PA15 (LED0)
|
||||||
|
__HAL_RCC_GPIOA_CLK_ENABLE(); // enable GPIO timer
|
||||||
|
__HAL_RCC_TIM2_CLK_ENABLE(); // enable timer 2 clock
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_15; // used pin is PA15
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; // alternate function use
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL; // no pullup
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;// timer 2 is used
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FAST; // speed is fast
|
||||||
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
TIM2->CCER = TIM_CCER_CC1E; // compare for PWM usage
|
||||||
|
TIM2->PSC = 16; // timer prescaler
|
||||||
|
TIM2->ARR = 255; // max count value
|
||||||
|
TIM2->CCR1 = lightness_to_pwm(0); // duty cycle
|
||||||
|
TIM2->CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1PE;
|
||||||
|
TIM2->EGR |= TIM_EGR_UG; // update register now
|
||||||
|
TIM2->CR1 = TIM_CR1_ARPE | TIM_CR1_CEN; // start the timer
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// Configure GPIO pin: PH6 (LED1)
|
||||||
|
__HAL_RCC_GPIOH_CLK_ENABLE(); // enable GPIO timer
|
||||||
|
__HAL_RCC_TIM12_CLK_ENABLE(); // enable timer 12 clock
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_6; // used pin is PH6
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; // alternate function use
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL; // no pullup
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF9_TIM12;// timer 12 is used
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FAST; // speed is fast
|
||||||
|
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
TIM12->CCER = TIM_CCER_CC1E; // compare for PWM usage
|
||||||
|
TIM12->PSC = 16; // timer prescaler
|
||||||
|
TIM12->ARR = 255; // max count value
|
||||||
|
TIM12->CCR1 = lightness_to_pwm(0); // duty cycle
|
||||||
|
TIM12->CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1PE;
|
||||||
|
TIM12->EGR |= TIM_EGR_UG; // update register now
|
||||||
|
TIM12->CR1 = TIM_CR1_ARPE | TIM_CR1_CEN; // start the timer
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// Configure GPIO pin: PA8 (LED2)
|
||||||
|
__HAL_RCC_GPIOA_CLK_ENABLE(); // enable GPIO timer
|
||||||
|
__HAL_RCC_TIM1_CLK_ENABLE(); // enable timer 1 clock
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_8; // used pin is PA8
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; // alternate function use
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL; // no pullup
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;// timer 5 is used
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FAST; // speed is fast
|
||||||
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
TIM1->CCER = TIM_CCER_CC1E; // compare for PWM usage
|
||||||
|
TIM1->PSC = 16; // timer prescaler
|
||||||
|
TIM1->ARR = 255; // max count value
|
||||||
|
TIM1->CCR1 = lightness_to_pwm(0); // duty cycle
|
||||||
|
TIM1->CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1PE;
|
||||||
|
TIM1->EGR |= TIM_EGR_UG; // update register now
|
||||||
|
TIM1->CR1 = TIM_CR1_ARPE | TIM_CR1_CEN; // start the timer
|
||||||
|
TIM1->BDTR = TIM_BDTR_MOE; // master output enable
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// Configure GPIO pin: PB4 (LED3)
|
||||||
|
__HAL_RCC_GPIOB_CLK_ENABLE(); // enable GPIO timer
|
||||||
|
__HAL_RCC_TIM3_CLK_ENABLE(); // enable timer 3 clock
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_4; // used pin is PB4
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; // alternate function use
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL; // no pullup
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;// timer 3 is used
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FAST; // speed is fast
|
||||||
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
TIM3->CCER = TIM_CCER_CC1E; // compare for PWM usage
|
||||||
|
TIM3->PSC = 16; // timer prescaler
|
||||||
|
TIM3->ARR = 255; // max count value
|
||||||
|
TIM3->CCR1 = lightness_to_pwm(0); // duty cycle
|
||||||
|
TIM3->CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1 | TIM_CCMR1_OC1PE;
|
||||||
|
TIM3->EGR |= TIM_EGR_UG; // update register now
|
||||||
|
TIM3->CR1 = TIM_CR1_ARPE | TIM_CR1_CEN; // start the timer
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
int32_t Ext_LED_On (uint32_t num) {
|
||||||
|
|
||||||
|
if((num & 1) != 0)
|
||||||
|
{
|
||||||
|
TIM2->CCR1 = lightness_to_pwm(LIGHTNESS_PWM_STEP);
|
||||||
|
}
|
||||||
|
if((num & 2) != 0)
|
||||||
|
{
|
||||||
|
TIM12->CCR1 = lightness_to_pwm(LIGHTNESS_PWM_STEP);
|
||||||
|
}
|
||||||
|
if((num & 4) != 0)
|
||||||
|
{
|
||||||
|
TIM1->CCR1 = lightness_to_pwm(LIGHTNESS_PWM_STEP);
|
||||||
|
}
|
||||||
|
if((num & 8) != 0)
|
||||||
|
{
|
||||||
|
TIM3->CCR1 = lightness_to_pwm(LIGHTNESS_PWM_STEP);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
int32_t Ext_LED_Off (uint32_t num) {
|
||||||
|
|
||||||
|
if((num & 1) != 0)
|
||||||
|
{
|
||||||
|
TIM2->CCR1 = lightness_to_pwm(0);
|
||||||
|
}
|
||||||
|
if((num & 2) != 0)
|
||||||
|
{
|
||||||
|
TIM12->CCR1 = lightness_to_pwm(0);
|
||||||
|
}
|
||||||
|
if((num & 4) != 0)
|
||||||
|
{
|
||||||
|
TIM1->CCR1 = lightness_to_pwm(0);
|
||||||
|
}
|
||||||
|
if((num & 8) != 0)
|
||||||
|
{
|
||||||
|
TIM3->CCR1 = lightness_to_pwm(0);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
int32_t Ext_LED_PWM (uint32_t num, uint32_t duty) {
|
||||||
|
|
||||||
|
if((num & 1) != 0)
|
||||||
|
{
|
||||||
|
TIM2->CCR1 = lightness_to_pwm(duty);
|
||||||
|
}
|
||||||
|
if((num & 2) != 0)
|
||||||
|
{
|
||||||
|
TIM12->CCR1 = lightness_to_pwm(duty);
|
||||||
|
}
|
||||||
|
if((num & 4) != 0)
|
||||||
|
{
|
||||||
|
TIM1->CCR1 = lightness_to_pwm(duty);
|
||||||
|
}
|
||||||
|
if((num & 8) != 0)
|
||||||
|
{
|
||||||
|
TIM3->CCR1 = lightness_to_pwm(duty);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
int32_t Ext_LEDs(uint32_t num) {
|
||||||
|
|
||||||
|
if((num & 1) != 0)
|
||||||
|
{
|
||||||
|
TIM2->CCR1 = lightness_to_pwm(LIGHTNESS_PWM_STEP);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TIM2->CCR1 = lightness_to_pwm(0);
|
||||||
|
}
|
||||||
|
if((num & 2) != 0)
|
||||||
|
{
|
||||||
|
TIM12->CCR1 = lightness_to_pwm(LIGHTNESS_PWM_STEP);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TIM12->CCR1 = lightness_to_pwm(0);
|
||||||
|
}
|
||||||
|
if((num & 4) != 0)
|
||||||
|
{
|
||||||
|
TIM1->CCR1 = lightness_to_pwm(LIGHTNESS_PWM_STEP);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TIM1->CCR1 = lightness_to_pwm(0);
|
||||||
|
}
|
||||||
|
if((num & 8) != 0)
|
||||||
|
{
|
||||||
|
TIM3->CCR1 = lightness_to_pwm(LIGHTNESS_PWM_STEP);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TIM3->CCR1 = lightness_to_pwm(0);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
51
RTE/Hesso_pack/ext_led.h
Normal file
51
RTE/Hesso_pack/ext_led.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/************************************************************************//**
|
||||||
|
* \file ext_led.h
|
||||||
|
* \brief Function to use the extension LEDs
|
||||||
|
* \author pascal (dot) sartoretti (at) hevs (dot) ch
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __EXT_LED_H
|
||||||
|
#define __EXT_LED_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#define LIGHTNESS_PWM_STEP 100
|
||||||
|
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Inits the external Leds usage.
|
||||||
|
* \return Always #0
|
||||||
|
***************************************************************************/
|
||||||
|
extern int32_t Ext_LED_Init (void);
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Turn on one led.
|
||||||
|
* \param num The led to turn on (1,2,4,8)
|
||||||
|
* \return Always 0
|
||||||
|
***************************************************************************/
|
||||||
|
extern int32_t Ext_LED_On (uint32_t num);
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Turn off one led.
|
||||||
|
* \param num The led to turn off (1,2,4,8)
|
||||||
|
* \return Always 0
|
||||||
|
***************************************************************************/
|
||||||
|
extern int32_t Ext_LED_Off (uint32_t num);
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Set a power on a led.
|
||||||
|
* \param num The led to turn set the power (1,2,4,8)
|
||||||
|
* \param duty The power of the led (0 to 255)
|
||||||
|
* \return Always 0
|
||||||
|
***************************************************************************/
|
||||||
|
extern int32_t Ext_LED_PWM (uint32_t num, uint32_t duty);
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Set the state on all leds.
|
||||||
|
* \param val The binary state of the four leds (example 0b1101).
|
||||||
|
* \return Always 0
|
||||||
|
***************************************************************************/
|
||||||
|
extern int32_t Ext_LEDs(uint32_t val);
|
||||||
|
|
||||||
|
#endif /* __BOARD_LED_H */
|
57
RTE/Hesso_pack/ext_uart.c
Normal file
57
RTE/Hesso_pack/ext_uart.c
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
#include "ext_uart.h"
|
||||||
|
|
||||||
|
UART_HandleTypeDef ext_uart; // extension uart handler
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
|
||||||
|
{
|
||||||
|
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct;
|
||||||
|
if(huart->Instance==USART6)
|
||||||
|
{
|
||||||
|
__HAL_RCC_GPIOC_CLK_ENABLE();
|
||||||
|
__HAL_RCC_USART6_CLK_ENABLE();
|
||||||
|
|
||||||
|
/**USART6 GPIO Configuration
|
||||||
|
PC7 ------> USART6_RX
|
||||||
|
PC6 ------> USART6_TX
|
||||||
|
*/
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_6;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF8_USART6;
|
||||||
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void Ext_UART_Init(uint32_t speed)
|
||||||
|
{
|
||||||
|
ext_uart.Instance = USART6;
|
||||||
|
ext_uart.Init.BaudRate = speed;
|
||||||
|
ext_uart.Init.WordLength = UART_WORDLENGTH_8B;
|
||||||
|
ext_uart.Init.StopBits = UART_STOPBITS_1;
|
||||||
|
ext_uart.Init.Parity = UART_PARITY_NONE;
|
||||||
|
ext_uart.Init.Mode = UART_MODE_TX_RX;
|
||||||
|
ext_uart.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||||
|
ext_uart.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||||
|
ext_uart.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
|
||||||
|
ext_uart.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
|
||||||
|
HAL_UART_Init(&ext_uart);
|
||||||
|
/* USART6 interrupt Init */
|
||||||
|
HAL_NVIC_SetPriority(USART6_IRQn, 0, 0);
|
||||||
|
HAL_NVIC_EnableIRQ(USART6_IRQn);
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
void USART6_IRQHandler(void)
|
||||||
|
{
|
||||||
|
HAL_UART_IRQHandler(&ext_uart);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
44
RTE/Hesso_pack/ext_uart.h
Normal file
44
RTE/Hesso_pack/ext_uart.h
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/************************************************************************//**
|
||||||
|
* \file ext_uart.h
|
||||||
|
* \brief Function to use the extension uart
|
||||||
|
* \author pascal (dot) sartoretti (at) hevs (dot) ch
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef __EXT_UART_H
|
||||||
|
#define __EXT_UART_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
extern UART_HandleTypeDef ext_uart; // extension uart handle
|
||||||
|
|
||||||
|
/************************************************************************//**
|
||||||
|
* \brief Inits the extension uart
|
||||||
|
* \param speed This si the uart speed selected for example 115200.
|
||||||
|
* The extension uart could be use with or without interrupts.
|
||||||
|
*
|
||||||
|
* Without interrupts:
|
||||||
|
* -------------------
|
||||||
|
* To send something on the uart, you have to use HAL_UART_Transmit function
|
||||||
|
* as the example below.
|
||||||
|
* error = HAL_UART_Transmit(&ext_uart, msg, sizeof(msg),50);
|
||||||
|
* To receive you have to use HAL_UART_Receive as example below.
|
||||||
|
* error = HAL_UART_Receive(&ext_uart, msg, sizeof(msg),HAL_MAX_DELAY);
|
||||||
|
* The HAL_MAX_DELAY waits until receive is finished.
|
||||||
|
*
|
||||||
|
* With interrupts:
|
||||||
|
* ----------------
|
||||||
|
* The functions below have to be used:
|
||||||
|
* HAL_UART_Transmit_IT(&ext_uart," Welcome\n\r", 10);
|
||||||
|
* HAL_UART_Receive_IT(&ext_uart,data,8);
|
||||||
|
*
|
||||||
|
* The callback functions above could be implemented for usage on interrupt
|
||||||
|
* mode when the full size is transmitted (or received).
|
||||||
|
* void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
|
||||||
|
* void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
|
||||||
|
*
|
||||||
|
***************************************************************************/
|
||||||
|
extern void Ext_UART_Init(uint32_t speed);
|
||||||
|
|
||||||
|
#endif /* __BOARD_LED_H */
|
61
RTE/_Target_1/RTE_Components.h
Normal file
61
RTE/_Target_1/RTE_Components.h
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* Auto generated Run-Time-Environment Configuration File
|
||||||
|
* *** Do not modify ! ***
|
||||||
|
*
|
||||||
|
* Project: 'tokenring_project'
|
||||||
|
* Target: 'Target 1'
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef RTE_COMPONENTS_H
|
||||||
|
#define RTE_COMPONENTS_H
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Define the Device Header File:
|
||||||
|
*/
|
||||||
|
#define CMSIS_device_header "stm32f7xx.h"
|
||||||
|
|
||||||
|
/* ARM::CMSIS:RTOS2:Keil RTX5:Source:5.5.4 */
|
||||||
|
#define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
|
||||||
|
#define RTE_CMSIS_RTOS2_RTX5 /* CMSIS-RTOS2 Keil RTX5 */
|
||||||
|
#define RTE_CMSIS_RTOS2_RTX5_SOURCE /* CMSIS-RTOS2 Keil RTX5 Source */
|
||||||
|
/* Keil.ARM Compiler::Compiler:Event Recorder:DAP:1.5.1 */
|
||||||
|
#define RTE_Compiler_EventRecorder
|
||||||
|
#define RTE_Compiler_EventRecorder_DAP
|
||||||
|
/* Keil.ARM Compiler::Compiler:I/O:STDOUT:ITM:1.2.0 */
|
||||||
|
#define RTE_Compiler_IO_STDOUT /* Compiler I/O: STDOUT */
|
||||||
|
#define RTE_Compiler_IO_STDOUT_ITM /* Compiler I/O: STDOUT ITM */
|
||||||
|
/* Keil::CMSIS Driver:I2C:1.9.0 */
|
||||||
|
#define RTE_Drivers_I2C1 /* Driver I2C1 */
|
||||||
|
#define RTE_Drivers_I2C2 /* Driver I2C2 */
|
||||||
|
#define RTE_Drivers_I2C3 /* Driver I2C3 */
|
||||||
|
#define RTE_Drivers_I2C4 /* Driver I2C4 */
|
||||||
|
/* Keil::CMSIS Driver:SAI:1.5.0 */
|
||||||
|
#define RTE_Drivers_SAI1 /* Driver SAI1 */
|
||||||
|
#define RTE_Drivers_SAI2 /* Driver SAI2 */
|
||||||
|
/* Keil::Device:STM32Cube Framework:Classic:1.2.7 */
|
||||||
|
#define RTE_DEVICE_FRAMEWORK_CLASSIC
|
||||||
|
/* Keil::Device:STM32Cube HAL:Common:1.2.7 */
|
||||||
|
#define RTE_DEVICE_HAL_COMMON
|
||||||
|
/* Keil::Device:STM32Cube HAL:Cortex:1.2.7 */
|
||||||
|
#define RTE_DEVICE_HAL_CORTEX
|
||||||
|
/* Keil::Device:STM32Cube HAL:DMA:1.2.7 */
|
||||||
|
#define RTE_DEVICE_HAL_DMA
|
||||||
|
/* Keil::Device:STM32Cube HAL:GPIO:1.2.7 */
|
||||||
|
#define RTE_DEVICE_HAL_GPIO
|
||||||
|
/* Keil::Device:STM32Cube HAL:PWR:1.2.7 */
|
||||||
|
#define RTE_DEVICE_HAL_PWR
|
||||||
|
/* Keil::Device:STM32Cube HAL:RCC:1.2.7 */
|
||||||
|
#define RTE_DEVICE_HAL_RCC
|
||||||
|
/* Keil::Device:STM32Cube HAL:SDRAM:1.2.7 */
|
||||||
|
#define RTE_DEVICE_HAL_SDRAM
|
||||||
|
/* Keil::Device:STM32Cube HAL:SPI:1.2.7 */
|
||||||
|
#define RTE_DEVICE_HAL_SPI
|
||||||
|
/* Keil::Device:STM32Cube HAL:UART:1.2.7 */
|
||||||
|
#define RTE_DEVICE_HAL_UART
|
||||||
|
/* Keil::Device:Startup:1.2.4 */
|
||||||
|
#define RTE_DEVICE_STARTUP_STM32F7XX /* Device Startup for STM32F7 */
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* RTE_COMPONENTS_H */
|
473
RTE/uGFX_library/gfxconf.h
Normal file
473
RTE/uGFX_library/gfxconf.h
Normal file
@ -0,0 +1,473 @@
|
|||||||
|
/**
|
||||||
|
* This file has a different license to the rest of the uGFX system.
|
||||||
|
* You can copy, modify and distribute this file as you see fit.
|
||||||
|
* You do not need to publish your source modifications to this file.
|
||||||
|
* The only thing you are not permitted to do is to relicense it
|
||||||
|
* under a different license.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Copy this file into your project directory and rename it as gfxconf.h
|
||||||
|
* Edit your copy to turn on the uGFX features you want to use.
|
||||||
|
* The values below are the defaults.
|
||||||
|
*
|
||||||
|
* Only remove the comments from lines where you want to change the
|
||||||
|
* default value. This allows definitions to be included from
|
||||||
|
* driver makefiles when required and provides the best future
|
||||||
|
* compatibility for your project.
|
||||||
|
*
|
||||||
|
* Please use spaces instead of tabs in this file.
|
||||||
|
*/
|
||||||
|
//* <<< Use Configuration Wizard in Context Menu >>>
|
||||||
|
#ifndef _GFXCONF_H
|
||||||
|
#define _GFXCONF_H
|
||||||
|
//<h> uGFX configuration with RTX5 operating system.
|
||||||
|
//<i> Full documentation available at: https://wiki.ugfx.io
|
||||||
|
#define CONF_WIZ_OS 1
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GOS - One of these must be defined, preferably in your Makefile //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
//#define GFX_USE_OS_CHIBIOS FALSE
|
||||||
|
//#define GFX_USE_OS_FREERTOS FALSE
|
||||||
|
// #define GFX_FREERTOS_USE_TRACE FALSE
|
||||||
|
//#define GFX_USE_OS_WIN32 FALSE
|
||||||
|
//#define GFX_USE_OS_LINUX FALSE
|
||||||
|
//#define GFX_USE_OS_OSX FALSE
|
||||||
|
//#define GFX_USE_OS_ECOS FALSE
|
||||||
|
//#define GFX_USE_OS_RAWRTOS TRUE
|
||||||
|
//#define GFX_USE_OS_ARDUINO FALSE
|
||||||
|
//#define GFX_USE_OS_KEIL TRUE
|
||||||
|
//#define GFX_USE_OS_CMSIS FALSE
|
||||||
|
//#define GFX_USE_OS_CMSIS2 FALSE
|
||||||
|
#if CONF_WIZ_OS == 0
|
||||||
|
#define GFX_USE_OS_RAW32 TRUE
|
||||||
|
#define GFX_USE_OS_RTX5 FALSE
|
||||||
|
#define GFX_OS_PRE_INIT_FUNCTION Raw32OSInit
|
||||||
|
#define GFX_OS_INIT_NO_WARNING TRUE
|
||||||
|
#else
|
||||||
|
#define GFX_USE_OS_RAW32 FALSE
|
||||||
|
#define GFX_USE_OS_RTX5 TRUE
|
||||||
|
#define GFX_OS_INIT_NO_WARNING TRUE
|
||||||
|
#endif
|
||||||
|
//#define GFX_USE_OS_ZEPHYR FALSE
|
||||||
|
//#define GFX_USE_OS_NIOS FALSE
|
||||||
|
//#define GFX_USE_OS_QT FALSE
|
||||||
|
// #define INTERRUPTS_OFF() optional_code
|
||||||
|
// #define INTERRUPTS_ON() optional_code
|
||||||
|
|
||||||
|
// Options that (should where relevant) apply to all operating systems
|
||||||
|
// #define GFX_NO_INLINE FALSE
|
||||||
|
#define GFX_COMPILER GFX_COMPILER_KEIL
|
||||||
|
// #define GFX_SHOW_COMPILER FALSE
|
||||||
|
#define GFX_CPU GFX_CPU_CORTEX_M7
|
||||||
|
// #define GFX_CPU_NO_ALIGNMENT_FAULTS FALSE
|
||||||
|
// #define GFX_CPU_ENDIAN GFX_CPU_ENDIAN_UNKNOWN
|
||||||
|
//<o> GFX heap size (in bytes), min. 32000
|
||||||
|
|
||||||
|
#define GFX_OS_HEAP_SIZE 60000
|
||||||
|
#define GFX_OS_NO_INIT TRUE
|
||||||
|
// #define GFX_OS_EXTRA_INIT_FUNCTION myOSInitRoutine
|
||||||
|
// #define GFX_OS_EXTRA_DEINIT_FUNCTION myOSDeInitRoutine
|
||||||
|
// #define GFX_OS_CALL_UGFXMAIN FALSE
|
||||||
|
// #define GFX_OS_UGFXMAIN_STACKSIZE 0
|
||||||
|
// #define GFX_EMULATE_MALLOC FALSE
|
||||||
|
//<o> LCD orientartion <0=> Board orientation
|
||||||
|
// <90=> 90 degree rotate
|
||||||
|
// <180=> 180 degree rotate (default laboratory)
|
||||||
|
// <270=> 270 degree rotate
|
||||||
|
#define GDISP_DEFAULT_ORIENTATION 180 // If not defined the native hardware orientation is used.
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GDISP //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// <e> GDISP configuration
|
||||||
|
#define GFX_USE_GDISP 1
|
||||||
|
#define GDISP_NEED_CONTROL 1 // always because LCD is 180 degree
|
||||||
|
//<q> Use of draw circle functions
|
||||||
|
#define GDISP_NEED_CIRCLE 1
|
||||||
|
//<q> Use of draw circle into circle
|
||||||
|
#define GDISP_NEED_DUALCIRCLE 0
|
||||||
|
//<q> Use of draw ellipse functions
|
||||||
|
#define GDISP_NEED_ELLIPSE 0
|
||||||
|
//<q> Use of draw arc functions
|
||||||
|
#define GDISP_NEED_ARC 0
|
||||||
|
//<q> Use of draw arc sectors functions
|
||||||
|
#define GDISP_NEED_ARCSECTORS 0
|
||||||
|
//<q> Use of draw convex polygon functions
|
||||||
|
#define GDISP_NEED_CONVEX_POLYGON 0
|
||||||
|
//<q> Use of scrolling functions
|
||||||
|
#define GDISP_NEED_SCROLL 0
|
||||||
|
//<q> Use of read pixel functions
|
||||||
|
#define GDISP_NEED_PIXELREAD 1
|
||||||
|
//#define GDISP_NEED_QUERY FALSE
|
||||||
|
#define GDISP_NEED_MULTITHREAD 1
|
||||||
|
//#define GDISP_NEED_STREAMING FALSE
|
||||||
|
//#define GDISP_NEED_AUTOFLUSH FALSE
|
||||||
|
//#define GDISP_NEED_TIMERFLUSH FALSE
|
||||||
|
|
||||||
|
//<q> Control LCD boundaries
|
||||||
|
#define GDISP_NEED_VALIDATION 0
|
||||||
|
#define GDISP_NEED_CLIP TRUE
|
||||||
|
// <e> Text usage
|
||||||
|
#define GDISP_NEED_TEXT 1
|
||||||
|
|
||||||
|
//<q> Text word wrap
|
||||||
|
#define GDISP_NEED_TEXT_WORDWRAP 1
|
||||||
|
// #define GDISP_NEED_TEXT_BOXPADLR 1
|
||||||
|
// #define GDISP_NEED_TEXT_BOXPADTB 1
|
||||||
|
//<q> Text antialiasing
|
||||||
|
#define GDISP_NEED_ANTIALIAS 1
|
||||||
|
//<q> Text UTF8
|
||||||
|
#define GDISP_NEED_UTF8 1
|
||||||
|
//<q> Text kerning
|
||||||
|
#define GDISP_NEED_TEXT_KERNING 1
|
||||||
|
|
||||||
|
// <e> Fonts (use one at least)
|
||||||
|
#define FOR_CONF_WIZARD 1
|
||||||
|
//<q> Font ui1
|
||||||
|
#define GDISP_INCLUDE_FONT_UI1 0
|
||||||
|
//<q> Font ui2
|
||||||
|
#define GDISP_INCLUDE_FONT_UI2 1 // The smallest preferred font.
|
||||||
|
//<q> Font Largenumbers
|
||||||
|
#define GDISP_INCLUDE_FONT_LARGENUMBERS 0
|
||||||
|
//<q> Font DejaVuSans10
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS10 0
|
||||||
|
//<q> Font DejaVuSans12
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS12 0
|
||||||
|
//<q> Font DejaVuSans16
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS16 0
|
||||||
|
//<q> Font DejaVuSans20
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS20 0
|
||||||
|
//<q> Font DejaVuSans24
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS24 0
|
||||||
|
//<q> Font DejaVuSans32
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS32 0
|
||||||
|
//<q> Font DejaVuSansBold12
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 0
|
||||||
|
//<q> Font Fixed_10x20
|
||||||
|
#define GDISP_INCLUDE_FONT_FIXED_10X20 0
|
||||||
|
//<q> Font Fixed_7x14
|
||||||
|
#define GDISP_INCLUDE_FONT_FIXED_7X14 0
|
||||||
|
//<q> Font Fixed_5x8
|
||||||
|
#define GDISP_INCLUDE_FONT_FIXED_5X8 0
|
||||||
|
//<q> Font DejaVuSans12_aa
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA 1
|
||||||
|
//<q> Font DejaVuSans16_aa
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA 1
|
||||||
|
//<q> Font DejaVuSans20_aa
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS20_AA 0
|
||||||
|
//<q> Font Dejavusans24_aa
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA 0
|
||||||
|
//<q> Font DejaVuSans32_aa
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA 0
|
||||||
|
//<q> Font DejaVuSansBold12_aa
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA 0
|
||||||
|
//<q> Font user
|
||||||
|
#define GDISP_INCLUDE_USER_FONTS 1
|
||||||
|
// </e>
|
||||||
|
// </e>
|
||||||
|
// <e> Image usage
|
||||||
|
#define GDISP_NEED_IMAGE 1
|
||||||
|
// <e> Image bitmap (BMP)
|
||||||
|
#define GDISP_NEED_IMAGE_BMP 1
|
||||||
|
//<q> Bitmap 1 bit
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_1 0
|
||||||
|
//<q> Bitmap 4 bits
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_4 0
|
||||||
|
//<q> Bitmap 4 bits RLE compressed
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_4_RLE 1
|
||||||
|
//<q> Bitmap 8 bits
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_8 0
|
||||||
|
//<q> Bitmap 8 bits RLE compressed
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_8_RLE 1
|
||||||
|
//<q> Bitmap 16 bits
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_16 0
|
||||||
|
//<q> Bitmap 24 bits
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_24 0
|
||||||
|
//<q> Bitmap 32 bits
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_32 0
|
||||||
|
#define GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE 32
|
||||||
|
// </e>
|
||||||
|
//<q> Image GIF
|
||||||
|
#define GDISP_NEED_IMAGE_GIF 0
|
||||||
|
#define GDISP_IMAGE_GIF_BLIT_BUFFER_SIZE 32
|
||||||
|
//<q> Image JPG
|
||||||
|
#define GDISP_NEED_IMAGE_JPG 0
|
||||||
|
//<e> Image PNG
|
||||||
|
#define GDISP_NEED_IMAGE_PNG 0
|
||||||
|
//<q> PDG interlaced
|
||||||
|
#define GDISP_NEED_IMAGE_PNG_INTERLACED 0
|
||||||
|
//<q> PDG transparency
|
||||||
|
#define GDISP_NEED_IMAGE_PNG_TRANSPARENCY 1
|
||||||
|
//<q> PDG background
|
||||||
|
#define GDISP_NEED_IMAGE_PNG_BACKGROUND 1
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_ALPHACLIFF 32
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_PALETTE_124 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_PALETTE_8 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_124 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_8 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_GRAYSCALE_16 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_8 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_GRAYALPHA_16 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_RGB_8 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_RGB_16 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_RGBALPHA_8 TRUE
|
||||||
|
// #define GDISP_NEED_IMAGE_PNG_RGBALPHA_16 TRUE
|
||||||
|
// #define GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE 32
|
||||||
|
// #define GDISP_IMAGE_PNG_FILE_BUFFER_SIZE 8
|
||||||
|
// #define GDISP_IMAGE_PNG_Z_BUFFER_SIZE 32768
|
||||||
|
// </e>
|
||||||
|
// #define GDISP_NEED_IMAGE_ACCOUNTING FALSE
|
||||||
|
// #define GDISP_NEED_IMAGE_NATIVE FALSE
|
||||||
|
|
||||||
|
//#define GDISP_NEED_PIXMAP FALSE
|
||||||
|
// #define GDISP_NEED_PIXMAP_IMAGE FALSE
|
||||||
|
|
||||||
|
//#define GDISP_LINEBUF_SIZE 128
|
||||||
|
//#define GDISP_STARTUP_COLOR Black
|
||||||
|
#define GDISP_NEED_STARTUP_LOGO FALSE
|
||||||
|
|
||||||
|
//#define GDISP_TOTAL_DISPLAYS 1
|
||||||
|
|
||||||
|
#define GDISP_DRIVER_LIST GDISPVMT_STM32LTDC
|
||||||
|
// #ifdef GDISP_DRIVER_LIST
|
||||||
|
// // For code and speed optimization define as TRUE or FALSE if all controllers have the same capability
|
||||||
|
// #define GDISP_HARDWARE_STREAM_WRITE FALSE
|
||||||
|
// #define GDISP_HARDWARE_STREAM_READ FALSE
|
||||||
|
// #define GDISP_HARDWARE_STREAM_POS FALSE
|
||||||
|
// #define GDISP_HARDWARE_DRAWPIXEL FALSE
|
||||||
|
// #define GDISP_HARDWARE_CLEARS FALSE
|
||||||
|
// #define GDISP_HARDWARE_FILLS FALSE
|
||||||
|
// #define GDISP_HARDWARE_BITFILLS FALSE
|
||||||
|
// #define GDISP_HARDWARE_SCROLL FALSE
|
||||||
|
#define GDISP_HARDWARE_PIXELREAD GFXON
|
||||||
|
// #define GDISP_HARDWARE_CONTROL FALSE
|
||||||
|
// #define GDISP_HARDWARE_QUERY FALSE
|
||||||
|
// #define GDISP_HARDWARE_CLIP FALSE
|
||||||
|
|
||||||
|
#define GDISP_PIXELFORMAT GDISP_PIXELFORMAT_RGB565
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
//#define GDISP_USE_GFXNET FALSE
|
||||||
|
// #define GDISP_GFXNET_PORT 13001
|
||||||
|
// #define GDISP_GFXNET_CUSTOM_LWIP_STARTUP FALSE
|
||||||
|
// #define GDISP_DONT_WAIT_FOR_NET_DISPLAY FALSE
|
||||||
|
// #define GDISP_GFXNET_UNSAFE_SOCKETS FALSE
|
||||||
|
//</e>
|
||||||
|
// </e>
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GWIN //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// <e> GWIN configuration
|
||||||
|
#define GFX_USE_GWIN 1
|
||||||
|
// <e> Use windows manager
|
||||||
|
#define GWIN_NEED_WINDOWMANAGER 1
|
||||||
|
//<q> Redraw imadiate
|
||||||
|
#define GWIN_REDRAW_IMMEDIATE 0
|
||||||
|
//<q> Redraw all windows in single operation
|
||||||
|
#define GWIN_REDRAW_SINGLEOP 1
|
||||||
|
//<q> Flashing widget support
|
||||||
|
#define GWIN_NEED_FLASHING 0
|
||||||
|
//<o> Flashing period
|
||||||
|
#define GWIN_FLASHING_PERIOD 250
|
||||||
|
// </e>
|
||||||
|
// <e> Console support
|
||||||
|
#define GWIN_NEED_CONSOLE 1
|
||||||
|
//<q> Console history
|
||||||
|
#define GWIN_CONSOLE_HISTORY_ATCREATE 1
|
||||||
|
// #define GWIN_CONSOLE_USE_HISTORY
|
||||||
|
// #define GWIN_CONSOLE_HISTORY_AVERAGING FALSE
|
||||||
|
//<q> Use escape command for coloring
|
||||||
|
#define GWIN_CONSOLE_ESCSEQ 1
|
||||||
|
// #define GWIN_CONSOLE_USE_BASESTREAM FALSE // chibios only
|
||||||
|
//<q> Floating numbers support
|
||||||
|
#define GWIN_CONSOLE_USE_FLOAT 0
|
||||||
|
//</e>
|
||||||
|
//#define GWIN_NEED_GRAPH FALSE
|
||||||
|
//#define GWIN_NEED_GL3D FALSE
|
||||||
|
//<q> Widget support
|
||||||
|
#define GWIN_NEED_WIDGET 1
|
||||||
|
//#define GWIN_FOCUS_HIGHLIGHT_WIDTH 1
|
||||||
|
//<q> Label support
|
||||||
|
#define GWIN_NEED_LABEL 1
|
||||||
|
// #define GWIN_LABEL_ATTRIBUTE FALSE
|
||||||
|
//<q> Button support
|
||||||
|
#define GWIN_NEED_BUTTON 1
|
||||||
|
// #define GWIN_BUTTON_LAZY_RELEASE FALSE
|
||||||
|
//<q> Slider support
|
||||||
|
#define GWIN_NEED_SLIDER 0
|
||||||
|
// #define GWIN_SLIDER_NOSNAP FALSE
|
||||||
|
// #define GWIN_SLIDER_DEAD_BAND 5
|
||||||
|
// #define GWIN_SLIDER_TOGGLE_INC 20
|
||||||
|
//<q> Checkbox support
|
||||||
|
#define GWIN_NEED_CHECKBOX 1
|
||||||
|
//<e> Image support
|
||||||
|
#define GWIN_NEED_IMAGE 1
|
||||||
|
//<q> Image animation support
|
||||||
|
#define GWIN_NEED_IMAGE_ANIMATION 0
|
||||||
|
//</e>
|
||||||
|
//<q> Radio button support
|
||||||
|
#define GWIN_NEED_RADIO 1
|
||||||
|
//<e> List support
|
||||||
|
#define GWIN_NEED_LIST 0
|
||||||
|
//<q> List image support
|
||||||
|
#define GWIN_NEED_LIST_IMAGES 0
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
//<q> Progressbar support
|
||||||
|
#define GWIN_NEED_PROGRESSBAR 0
|
||||||
|
// #define GWIN_PROGRESSBAR_AUTO FALSE
|
||||||
|
//<q> Keyboard support
|
||||||
|
#define GWIN_NEED_KEYBOARD 0
|
||||||
|
// #define GWIN_KEYBOARD_DEFAULT_LAYOUT VirtualKeyboard_English1
|
||||||
|
// #define GWIN_NEED_KEYBOARD_ENGLISH1 TRUE
|
||||||
|
//<q> Text edit support
|
||||||
|
#define GWIN_NEED_TEXTEDIT 0
|
||||||
|
// #define GWIN_FLAT_STYLING FALSE
|
||||||
|
//<q> Widgets tag support
|
||||||
|
#define GWIN_WIDGET_TAGS 1
|
||||||
|
//<q> Containers support
|
||||||
|
#define GWIN_NEED_CONTAINERS 1
|
||||||
|
//<q> Need container support
|
||||||
|
#define GWIN_NEED_CONTAINER 1
|
||||||
|
//<q> Frame support
|
||||||
|
#define GWIN_NEED_FRAME 0
|
||||||
|
//<q> Tabset support (see details)
|
||||||
|
#define GWIN_NEED_TABSET 0
|
||||||
|
// #define GWIN_TABSET_TABHEIGHT 18
|
||||||
|
// </e>
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GTRANS //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
//#define GFX_USE_GTRANS FALSE
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GEVENT //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// <e> GEVENT configuration
|
||||||
|
#define GFX_USE_GEVENT 1
|
||||||
|
|
||||||
|
//#define GEVENT_ASSERT_NO_RESOURCE FALSE
|
||||||
|
//<o> Maximum size of an event (in bytes)
|
||||||
|
#define GEVENT_MAXIMUM_SIZE 32
|
||||||
|
//<o> Maximum Source/Listener pair
|
||||||
|
#define GEVENT_MAX_SOURCE_LISTENERS 32
|
||||||
|
|
||||||
|
//</e>
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GTIMER //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_GTIMER 1
|
||||||
|
|
||||||
|
#define GTIMER_THREAD_PRIORITY HIGH_PRIORITY
|
||||||
|
#define GTIMER_THREAD_WORKAREA_SIZE 4096
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GQUEUE //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_GQUEUE TRUE
|
||||||
|
|
||||||
|
#define GQUEUE_NEED_ASYNC TRUE
|
||||||
|
//#define GQUEUE_NEED_GSYNC FALSE
|
||||||
|
//#define GQUEUE_NEED_FSYNC FALSE
|
||||||
|
//#define GQUEUE_NEED_BUFFERS FALSE
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GINPUT //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// <e> GINPUT configuration
|
||||||
|
#define GFX_USE_GINPUT 1
|
||||||
|
|
||||||
|
//<q> Mouse / touchscreen support
|
||||||
|
#define GINPUT_NEED_MOUSE 1
|
||||||
|
// #define GINPUT_TOUCH_STARTRAW FALSE
|
||||||
|
|
||||||
|
// #define GINPUT_TOUCH_NOTOUCH FALSE
|
||||||
|
// #define GINPUT_TOUCH_NOCALIBRATE FALSE
|
||||||
|
#define GINPUT_TOUCH_NOCALIBRATE_GUI TRUE
|
||||||
|
// #define GINPUT_MOUSE_POLL_PERIOD 25
|
||||||
|
// #define GINPUT_MOUSE_CLICK_TIME 300
|
||||||
|
// #define GINPUT_TOUCH_CXTCLICK_TIME 700
|
||||||
|
// #define GINPUT_TOUCH_USER_CALIBRATION_LOAD FALSE
|
||||||
|
// #define GINPUT_TOUCH_USER_CALIBRATION_SAVE FALSE
|
||||||
|
#define GMOUSE_DRIVER_LIST GMOUSEVMT_FT5336
|
||||||
|
//<q> Keyboard support
|
||||||
|
#define GINPUT_NEED_KEYBOARD 0
|
||||||
|
// #define GINPUT_KEYBOARD_POLL_PERIOD 200
|
||||||
|
// #define GKEYBOARD_DRIVER_LIST GKEYBOARDVMT_Win32, GKEYBOARDVMT_Win32
|
||||||
|
// #define GKEYBOARD_LAYOUT_OFF FALSE
|
||||||
|
// #define GKEYBOARD_LAYOUT_SCANCODE2_US FALSE
|
||||||
|
//#define GINPUT_NEED_TOGGLE FALSE
|
||||||
|
//#define GINPUT_NEED_DIAL FALSE
|
||||||
|
//</e>
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GFILE //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// <e> GFILE configuration
|
||||||
|
#define GFX_USE_GFILE 1
|
||||||
|
// <e> String support
|
||||||
|
#define GFILE_NEED_STRINGS 0
|
||||||
|
//<q> printfg, fprintg, etc support
|
||||||
|
#define GFILE_NEED_PRINTG 0
|
||||||
|
//<q> scang, fscang, etc support
|
||||||
|
#define GFILE_NEED_SCANG 0
|
||||||
|
//</e>
|
||||||
|
//#define GFILE_NEED_FILELISTS FALSE
|
||||||
|
//#define GFILE_NEED_STDIO FALSE
|
||||||
|
//#define GFILE_NEED_NOAUTOMOUNT FALSE
|
||||||
|
//#define GFILE_NEED_NOAUTOSYNC FALSE
|
||||||
|
|
||||||
|
//#define GFILE_NEED_MEMFS FALSE
|
||||||
|
//<q> ROM file system support
|
||||||
|
#define GFILE_NEED_ROMFS 1
|
||||||
|
//<q> RAM file system support
|
||||||
|
#define GFILE_NEED_RAMFS 0
|
||||||
|
//#define GFILE_NEED_FATFS FALSE
|
||||||
|
//#define GFILE_NEED_NATIVEFS FALSE
|
||||||
|
//#define GFILE_NEED_CHBIOSFS FALSE
|
||||||
|
//#define GFILE_NEED_USERFS FALSE
|
||||||
|
|
||||||
|
//#define GFILE_ALLOW_FLOATS FALSE
|
||||||
|
//#define GFILE_ALLOW_DEVICESPECIFIC FALSE
|
||||||
|
//<o> Maximum number of files
|
||||||
|
#define GFILE_MAX_GFILES 6
|
||||||
|
//</e>
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GADC //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
//#define GFX_USE_GADC FALSE
|
||||||
|
// #define GADC_MAX_LOWSPEED_DEVICES 4
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GAUDIO //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
//#define GFX_USE_GAUDIO FALSE
|
||||||
|
// #define GAUDIO_NEED_PLAY FALSE
|
||||||
|
// #define GAUDIO_NEED_RECORD FALSE
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GMISC //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// <e> GMISC configuration (see details in file)
|
||||||
|
#define GFX_USE_GMISC 0
|
||||||
|
|
||||||
|
//#define GMISC_NEED_ARRAYOPS FALSE
|
||||||
|
//#define GMISC_NEED_FASTTRIG FALSE
|
||||||
|
//#define GMISC_NEED_FIXEDTRIG FALSE
|
||||||
|
//#define GMISC_NEED_INVSQRT FALSE
|
||||||
|
// #define GMISC_INVSQRT_MIXED_ENDIAN FALSE
|
||||||
|
// #define GMISC_INVSQRT_REAL_SLOW FALSE
|
||||||
|
#define GMISC_NEED_MATRIXFLOAT2D 0
|
||||||
|
//#define GMISC_NEED_MATRIXFIXED2D FALSE
|
||||||
|
//#define GMISC_NEED_HITTEST_POLY FALSE
|
||||||
|
// </e>
|
||||||
|
//</h>
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _GFXCONF_H */
|
82
RTE/uGFX_library/stm32f7_i2c.c
Normal file
82
RTE/uGFX_library/stm32f7_i2c.c
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
#include "gfx.h"
|
||||||
|
|
||||||
|
#include "stm32f7_i2c.h"
|
||||||
|
#include "Driver_I2C.h"
|
||||||
|
|
||||||
|
/* I2C Driver */
|
||||||
|
extern ARM_DRIVER_I2C Driver_I2C3;
|
||||||
|
static ARM_DRIVER_I2C * I2Cdrv = &Driver_I2C3;
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef EEPROM_I2C_PORT
|
||||||
|
#define EEPROM_I2C_PORT 3 /* I2C Port number */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define A_WR 0 /* Master will write to the I2C */
|
||||||
|
#define A_RD 1 /* Master will read from the I2C */
|
||||||
|
|
||||||
|
static uint8_t wr_buf[256];
|
||||||
|
uint8_t gI2CAccess = 0;
|
||||||
|
bool_t i2cInit(I2C_TypeDef* i2c)
|
||||||
|
{
|
||||||
|
gI2CAccess = 1;
|
||||||
|
I2Cdrv->Initialize (NULL);
|
||||||
|
I2Cdrv->PowerControl (ARM_POWER_FULL);
|
||||||
|
I2Cdrv->Control (ARM_I2C_BUS_SPEED, ARM_I2C_BUS_SPEED_STANDARD);
|
||||||
|
I2Cdrv->Control (ARM_I2C_BUS_CLEAR, 0);
|
||||||
|
gI2CAccess = 0;
|
||||||
|
|
||||||
|
|
||||||
|
return 1; // just says no error
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void i2cWriteReg(I2C_TypeDef* i2c, uint8_t slaveAddr, uint8_t regAddr, uint8_t value)
|
||||||
|
{
|
||||||
|
wr_buf[0] = regAddr;
|
||||||
|
wr_buf[1] = value;
|
||||||
|
gI2CAccess = 1;
|
||||||
|
|
||||||
|
I2Cdrv->MasterTransmit (slaveAddr/2, wr_buf, 2, false);
|
||||||
|
while (I2Cdrv->GetStatus().busy);
|
||||||
|
if (I2Cdrv->GetDataCount () != 2) return;
|
||||||
|
/* Acknowledge polling */
|
||||||
|
gI2CAccess = 0;
|
||||||
|
|
||||||
|
// do {
|
||||||
|
// I2Cdrv->MasterReceive (DeviceAddr, &wr_buf[0], 1, false);
|
||||||
|
// while (I2Cdrv->GetStatus().busy);
|
||||||
|
// } while (I2Cdrv->GetDataCount () < 0);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8_t i2cReadByte(I2C_TypeDef* i2c, uint8_t slaveAddr, uint8_t regAddr)
|
||||||
|
{
|
||||||
|
uint8_t ret = 0;
|
||||||
|
gI2CAccess = 1;
|
||||||
|
|
||||||
|
I2Cdrv->MasterTransmit (slaveAddr/2, ®Addr, 1, true);
|
||||||
|
while (I2Cdrv->GetStatus().busy);
|
||||||
|
I2Cdrv->MasterReceive (slaveAddr/2, &ret, 1, false);
|
||||||
|
while (I2Cdrv->GetStatus().busy);
|
||||||
|
if (I2Cdrv->GetDataCount () != 1) return 0xAA;
|
||||||
|
gI2CAccess = 0;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t i2cReadWord(I2C_TypeDef* i2c, uint8_t slaveAddr, uint8_t regAddr)
|
||||||
|
{
|
||||||
|
uint8_t ret[2] = { 0, 0 };
|
||||||
|
gI2CAccess = 1;
|
||||||
|
|
||||||
|
I2Cdrv->MasterTransmit (slaveAddr/2, ®Addr, 1, true);
|
||||||
|
while (I2Cdrv->GetStatus().busy);
|
||||||
|
I2Cdrv->MasterReceive (slaveAddr/2, ret, 2, false);
|
||||||
|
while (I2Cdrv->GetStatus().busy);
|
||||||
|
if (I2Cdrv->GetDataCount () != 2) return 0xAAAA;
|
||||||
|
gI2CAccess = 0;
|
||||||
|
|
||||||
|
return (uint16_t)((ret[0] << 8) | (ret[1] & 0x00FF));
|
||||||
|
}
|
74
audio.c
Normal file
74
audio.c
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file audio.c
|
||||||
|
/// \brief Audio thread
|
||||||
|
/// \author Pascal Sartoretti (sap at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "main.h"
|
||||||
|
#include "audio_msg.c"
|
||||||
|
#include "audio_error.c"
|
||||||
|
#include "audio_clock.c"
|
||||||
|
#include "Board_Audio.h"
|
||||||
|
|
||||||
|
extern uint8_t gI2CAccess;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD AUDIO
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void AudioPlayer(void *argument)
|
||||||
|
{
|
||||||
|
int32_t eventFlag; // current flag
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Initialize the audio interface (need to be intialised first)
|
||||||
|
// this thread has a most important priority and block kernel switch when
|
||||||
|
// intilalising the audio interface
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
while(gI2CAccess != 0){}
|
||||||
|
osKernelLock();
|
||||||
|
Audio_Initialize (NULL);
|
||||||
|
Audio_SetDataFormat(AUDIO_STREAM_OUT, AUDIO_DATA_16_MONO);
|
||||||
|
Audio_SetFrequency (AUDIO_STREAM_OUT,16000);
|
||||||
|
Audio_SetMute (AUDIO_STREAM_OUT, AUDIO_CHANNEL_MASTER, false);
|
||||||
|
Audio_SetVolume (AUDIO_STREAM_OUT, AUDIO_CHANNEL_MASTER, 50);
|
||||||
|
Audio_Start (AUDIO_STREAM_OUT);
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Bacause of audio initialize use the I2C interrupts and the uGFX touch
|
||||||
|
// protocol don't use it, we neeed to clear this register
|
||||||
|
// I2C3->CR1 = 0;
|
||||||
|
osKernelUnlock();
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
while (1) // forever
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// EVENT GET wait always (AUDIO_xxx_EVT)
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
eventFlag = osEventFlagsWait(
|
||||||
|
eventFlag_id,
|
||||||
|
AUDIO_MSG_EVT | AUDIO_ERROR_EVT| AUDIO_CLOCK_EVT,
|
||||||
|
osFlagsWaitAny,
|
||||||
|
osWaitForever);
|
||||||
|
if(eventFlag < 0) // case of error
|
||||||
|
CheckRetCode(eventFlag,__LINE__,__FILE__,CONTINUE);
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
if((eventFlag & AUDIO_MSG_EVT) == AUDIO_MSG_EVT) // play incoming message
|
||||||
|
{
|
||||||
|
Audio_SendData(audio_msg, sizeof(audio_msg)/2);
|
||||||
|
}
|
||||||
|
if((eventFlag & AUDIO_ERROR_EVT) == AUDIO_ERROR_EVT) // play error message
|
||||||
|
{
|
||||||
|
Audio_SendData(audio_error, sizeof(audio_error)/2);
|
||||||
|
}
|
||||||
|
if((eventFlag & AUDIO_CLOCK_EVT) == AUDIO_CLOCK_EVT) // play clock message
|
||||||
|
{
|
||||||
|
Audio_SendData(audio_clock, sizeof(audio_clock)/2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
392
audio_clock.c
Normal file
392
audio_clock.c
Normal file
@ -0,0 +1,392 @@
|
|||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
const uint16_t audio_clock[]={
|
||||||
|
65497, 65481, 65477, 65474, 65473, 65466, 65458, 65451,
|
||||||
|
65448, 65460, 65476, 65504, 65534, 29, 53, 70,
|
||||||
|
64, 53, 21, 65530, 65509, 65503, 65518, 65531,
|
||||||
|
28, 34, 45, 28, 8, 65516, 65503, 65497,
|
||||||
|
65516, 2, 31, 40, 45, 25, 5, 65515,
|
||||||
|
65490, 65472, 65446, 65429, 65401, 65380, 65358, 65342,
|
||||||
|
65341, 65347, 65368, 65396, 65425, 65449, 65464, 65463,
|
||||||
|
65468, 65462, 65472, 65483, 65498, 65513, 65513, 65508,
|
||||||
|
65485, 65462, 65427, 65406, 65388, 65390, 65416, 65455,
|
||||||
|
65508, 35, 74, 124, 142, 165, 173, 182,
|
||||||
|
178, 167, 144, 115, 80, 53, 23, 8,
|
||||||
|
65528, 65520, 65512, 65507, 65510, 65513, 65524, 65533,
|
||||||
|
65530, 65529, 65507, 65492, 65465, 65448, 65426, 65418,
|
||||||
|
65410, 65413, 65418, 65428, 65433, 65439, 65438, 65438,
|
||||||
|
65432, 65435, 65420, 65428, 65420, 65437, 65455, 65486,
|
||||||
|
65523, 26, 72, 118, 175, 227, 275, 307,
|
||||||
|
311, 286, 230, 147, 59, 65500, 65434, 65396,
|
||||||
|
65399, 65443, 65506, 56, 138, 227, 299, 363,
|
||||||
|
397, 400, 362, 293, 189, 93, 65518, 65438,
|
||||||
|
65365, 65310, 65274, 65254, 65255, 65285, 65330, 65393,
|
||||||
|
65456, 65517, 38, 79, 112, 127, 130, 126,
|
||||||
|
125, 135, 159, 188, 213, 215, 201, 162,
|
||||||
|
119, 78, 50, 36, 35, 43, 48, 54,
|
||||||
|
56, 58, 71, 94, 123, 154, 170, 164,
|
||||||
|
144, 110, 83, 65, 61, 59, 58, 36,
|
||||||
|
2, 65493, 65438, 65399, 65366, 65352, 65356, 65368,
|
||||||
|
65392, 65422, 65455, 65498, 2, 40, 61, 67,
|
||||||
|
50, 25, 65534, 65514, 65508, 65497, 65490, 65469,
|
||||||
|
65447, 65429, 65413, 65417, 65420, 65436, 65451, 65474,
|
||||||
|
65506, 4, 49, 88, 126, 159, 177, 190,
|
||||||
|
181, 158, 121, 76, 36, 2, 65514, 65493,
|
||||||
|
65468, 65438, 65391, 65354, 65308, 65307, 65321, 65379,
|
||||||
|
65448, 65510, 24, 46, 65, 79, 119, 153,
|
||||||
|
203, 217, 192, 106, 65487, 65277, 65047, 64830,
|
||||||
|
64684, 64624, 64668, 64793, 64975, 65195, 65415, 98,
|
||||||
|
282, 425, 514, 537, 504, 406, 270, 116,
|
||||||
|
65501, 65400, 65317, 65285, 65243, 65208, 65157, 65134,
|
||||||
|
65124, 65172, 65229, 65316, 65381, 65452, 65481, 65504,
|
||||||
|
65484, 65469, 65457, 65488, 15, 81, 106, 65,
|
||||||
|
65488, 65351, 65225, 65151, 65128, 65157, 65217, 65295,
|
||||||
|
65379, 65429, 65441, 65403, 65364, 65354, 65426, 8,
|
||||||
|
141, 227, 235, 187, 113, 66, 61, 93,
|
||||||
|
148, 187, 180, 114, 65504, 65331, 65173, 65108,
|
||||||
|
65172, 65354, 62, 289, 428, 453, 374, 230,
|
||||||
|
82, 65522, 65506, 46, 157, 246, 249, 148,
|
||||||
|
65521, 65367, 65286, 65310, 65407, 65530, 81, 97,
|
||||||
|
35, 65454, 65336, 65275, 65340, 3, 296, 598,
|
||||||
|
787, 799, 632, 346, 63, 65404, 65347, 65419,
|
||||||
|
20, 148, 207, 162, 38, 65419, 65300, 65274,
|
||||||
|
65347, 65506, 159, 339, 468, 544, 559, 546,
|
||||||
|
519, 515, 545, 600, 655, 658, 577, 401,
|
||||||
|
154, 65415, 65168, 64996, 64919, 64965, 65093, 65276,
|
||||||
|
65448, 16, 47, 5, 65492, 65474, 65513, 65,
|
||||||
|
159, 218, 211, 131, 65530, 65372, 65231, 65147,
|
||||||
|
65140, 65204, 65326, 65462, 69, 199, 325, 455,
|
||||||
|
582, 697, 778, 801, 766, 657, 508, 313,
|
||||||
|
126, 65481, 65344, 65238, 65165, 65119, 65088, 65088,
|
||||||
|
65105, 65169, 65243, 65339, 65411, 65451, 65440, 65374,
|
||||||
|
65281, 65181, 65123, 65106, 65140, 65181, 65211, 65207,
|
||||||
|
65190, 65188, 65245, 65365, 4, 203, 367, 495,
|
||||||
|
543, 535, 479, 395, 308, 227, 164, 96,
|
||||||
|
39, 65504, 65441, 65396, 65372, 65379, 65395, 65427,
|
||||||
|
65449, 65484, 65523, 37, 99, 150, 186, 183,
|
||||||
|
127, 33, 65421, 65266, 65124, 65021, 64989, 65007,
|
||||||
|
65069, 65148, 65225, 65299, 65375, 65463, 33, 150,
|
||||||
|
271, 386, 478, 544, 544, 483, 333, 130,
|
||||||
|
65448, 65251, 65136, 65070, 65065, 65054, 65034, 64993,
|
||||||
|
64966, 64978, 65055, 65184, 65357, 65533, 163, 293,
|
||||||
|
369, 395, 354, 270, 146, 22, 65435, 65334,
|
||||||
|
65247, 65172, 65122, 65095, 65122, 65193, 65322, 65483,
|
||||||
|
132, 319, 494, 636, 724, 745, 680, 553,
|
||||||
|
369, 160, 65487, 65276, 65092, 64923, 64792, 64701,
|
||||||
|
64660, 64668, 64722, 64820, 64956, 65122, 65308, 65495,
|
||||||
|
141, 294, 413, 481, 489, 436, 330, 205,
|
||||||
|
88, 13, 65510, 65502, 65499, 65496, 65497, 65519,
|
||||||
|
37, 131, 242, 373, 489, 601, 662, 678,
|
||||||
|
616, 500, 352, 208, 100, 26, 65509, 65462,
|
||||||
|
65399, 65339, 65287, 65252, 65257, 65288, 65357, 65446,
|
||||||
|
65521, 21, 65518, 65413, 65277, 65175, 65155, 65230,
|
||||||
|
65376, 65522, 92, 120, 82, 19, 65508, 65505,
|
||||||
|
24, 104, 182, 215, 192, 133, 82, 87,
|
||||||
|
161, 286, 395, 439, 367, 199, 65507, 65296,
|
||||||
|
65157, 65138, 65230, 65420, 92, 270, 356, 345,
|
||||||
|
265, 168, 98, 76, 82, 75, 52, 65523,
|
||||||
|
65471, 65433, 65436, 65467, 65515, 14, 36, 13,
|
||||||
|
65487, 65373, 65227, 65100, 65046, 65122, 65335, 110,
|
||||||
|
427, 644, 687, 514, 176, 65252, 64776, 64343,
|
||||||
|
64017, 63832, 63802, 63932, 64197, 64582, 65028, 65522,
|
||||||
|
485, 961, 1384, 1680, 1789, 1667, 1307, 793,
|
||||||
|
231, 65277, 64941, 64762, 64704, 64711, 64734, 64765,
|
||||||
|
64811, 64883, 65007, 65178, 65403, 120, 352, 524,
|
||||||
|
577, 524, 397, 263, 184, 147, 120, 28,
|
||||||
|
65369, 65082, 64761, 64493, 64330, 64311, 64401, 64570,
|
||||||
|
64752, 64915, 65044, 65147, 65268, 65413, 59, 247,
|
||||||
|
388, 471, 474, 445, 410, 398, 409, 421,
|
||||||
|
413, 364, 284, 181, 74, 65531, 65483, 65488,
|
||||||
|
65535, 64, 148, 232, 353, 505, 690, 854,
|
||||||
|
930, 871, 665, 365, 48, 65320, 65151, 65057,
|
||||||
|
65011, 64963, 64900, 64815, 64751, 64740, 64827, 65022,
|
||||||
|
65290, 44, 273, 379, 356, 220, 55, 65463,
|
||||||
|
65422, 65473, 45, 137, 161, 72, 65417, 65170,
|
||||||
|
64942, 64783, 64748, 64820, 65003, 65247, 3, 306,
|
||||||
|
586, 818, 965, 1028, 1018, 964, 899, 838,
|
||||||
|
787, 723, 641, 516, 363, 194, 43, 65487,
|
||||||
|
65465, 65524, 86, 170, 195, 108, 65479, 65273,
|
||||||
|
65121, 65098, 65230, 65488, 250, 473, 569, 507,
|
||||||
|
377, 236, 172, 173, 206, 201, 101, 65447,
|
||||||
|
65184, 64922, 64723, 64625, 64677, 64837, 65090, 65348,
|
||||||
|
28, 176, 268, 348, 465, 611, 772, 881,
|
||||||
|
901, 819, 672, 491, 351, 257, 231, 260,
|
||||||
|
305, 366, 409, 437, 451, 452, 445, 429,
|
||||||
|
395, 339, 249, 134, 65521, 65373, 65229, 65110,
|
||||||
|
65019, 64935, 64849, 64750, 64646, 64585, 64587, 64685,
|
||||||
|
64859, 65078, 65291, 65472, 64, 131, 141, 95,
|
||||||
|
6, 65441, 65353, 65304, 65298, 65331, 65380, 65439,
|
||||||
|
65509, 37, 104, 135, 143, 101, 50, 65524,
|
||||||
|
65490, 65487, 65517, 43, 134, 249, 376, 520,
|
||||||
|
643, 753, 815, 823, 765, 637, 448, 215,
|
||||||
|
65496, 65245, 65016, 64837, 64731, 64704, 64758, 64863,
|
||||||
|
64971, 65056, 65077, 65064, 65022, 65008, 65022, 65083,
|
||||||
|
65160, 65229, 65261, 65232, 65165, 65057, 64978, 64924,
|
||||||
|
64944, 65008, 65109, 65216, 65322, 65427, 15, 149,
|
||||||
|
293, 413, 487, 498, 454, 380, 306, 263,
|
||||||
|
255, 280, 322, 359, 391, 409, 427, 438,
|
||||||
|
446, 436, 406, 339, 257, 145, 48, 65497,
|
||||||
|
65444, 65421, 65405, 65374, 65302, 65182, 65047, 64931,
|
||||||
|
64892, 64936, 65050, 65176, 65252, 65257, 65181, 65083,
|
||||||
|
65004, 64988, 65045, 65139, 65247, 65322, 65363, 65388,
|
||||||
|
65431, 65533, 172, 405, 654, 860, 974, 970,
|
||||||
|
863, 701, 534, 417, 359, 346, 349, 325,
|
||||||
|
277, 202, 143, 116, 143, 207, 280, 344,
|
||||||
|
372, 378, 360, 336, 308, 262, 199, 92,
|
||||||
|
65498, 65341, 65192, 65066, 64984, 64948, 64947, 64973,
|
||||||
|
65003, 65046, 65086, 65139, 65191, 65240, 65264, 65255,
|
||||||
|
65205, 65127, 65049, 65006, 65022, 65115, 65265, 65447,
|
||||||
|
87, 232, 330, 395, 426, 448, 453, 438,
|
||||||
|
401, 334, 251, 173, 114, 96, 128, 198,
|
||||||
|
313, 442, 576, 688, 762, 788, 757, 681,
|
||||||
|
561, 413, 252, 84, 65465, 65330, 65225, 65153,
|
||||||
|
65116, 65112, 65131, 65185, 65253, 65345, 65441, 65515,
|
||||||
|
29, 17, 65506, 65416, 65322, 65235, 65177, 65143,
|
||||||
|
65128, 65117, 65096, 65075, 65046, 65049, 65081, 65175,
|
||||||
|
65316, 65503, 162, 343, 477, 563, 591, 596,
|
||||||
|
569, 555, 539, 534, 538, 532, 528, 501,
|
||||||
|
464, 403, 334, 255, 179, 110, 51, 65530,
|
||||||
|
65472, 65406, 65340, 65269, 65219, 65182, 65186, 65211,
|
||||||
|
65270, 65334, 65393, 65439, 65443, 65432, 65392, 65348,
|
||||||
|
65296, 65244, 65175, 65097, 65004, 64921, 64865, 64865,
|
||||||
|
64926, 65043, 65196, 65350, 65494, 70, 159, 228,
|
||||||
|
289, 337, 379, 387, 372, 305, 215, 104,
|
||||||
|
10, 65488, 65493, 17, 119, 230, 311, 359,
|
||||||
|
366, 352, 338, 317, 300, 251, 182, 68,
|
||||||
|
65489, 65371, 65284, 65230, 65193, 65177, 65146, 65113,
|
||||||
|
65068, 65027, 65001, 64996, 65012, 65049, 65086, 65123,
|
||||||
|
65137, 65131, 65108, 65078, 65061, 65068, 65107, 65175,
|
||||||
|
65265, 65370, 65480, 53, 154, 226, 268, 261,
|
||||||
|
207, 118, 20, 65472, 65433, 65442, 65496, 45,
|
||||||
|
135, 221, 290, 348, 397, 444, 481, 512,
|
||||||
|
511, 487, 426, 337, 235, 121, 16, 65460,
|
||||||
|
65383, 65330, 65291, 65274, 65264, 65269, 65282, 65302,
|
||||||
|
65331, 65359, 65385, 65405, 65415, 65416, 65413, 65407,
|
||||||
|
65401, 65394, 65382, 65367, 65347, 65339, 65334, 65359,
|
||||||
|
65391, 65459, 65527, 85, 171, 260, 336, 395,
|
||||||
|
430, 441, 423, 393, 345, 311, 271, 271,
|
||||||
|
276, 314, 366, 415, 463, 487, 496, 481,
|
||||||
|
457, 423, 392, 346, 307, 241, 186, 117,
|
||||||
|
63, 21, 65527, 65512, 65493, 65471, 65434, 65387,
|
||||||
|
65337, 65292, 65263, 65251, 65260, 65281, 65310, 65329,
|
||||||
|
65349, 65349, 65360, 65371, 65404, 65460, 65528, 74,
|
||||||
|
136, 187, 203, 202, 181, 169, 150, 158,
|
||||||
|
158, 172, 176, 181, 185, 190, 213, 244,
|
||||||
|
287, 335, 369, 386, 371, 329, 264, 197,
|
||||||
|
129, 85, 56, 39, 27, 2, 65499, 65454,
|
||||||
|
65400, 65360, 65329, 65312, 65296, 65284, 65256, 65235,
|
||||||
|
65205, 65192, 65189, 65198, 65209, 65211, 65200, 65164,
|
||||||
|
65132, 65093, 65093, 65113, 65179, 65261, 65359, 65442,
|
||||||
|
65502, 65531, 1, 65529, 65524, 65526, 2, 19,
|
||||||
|
27, 30, 8, 65525, 65487, 65469, 65447, 65449,
|
||||||
|
65452, 65467, 65484, 65496, 65517, 65524, 6, 5,
|
||||||
|
7, 65525, 65499, 65461, 65418, 65370, 65334, 65304,
|
||||||
|
65286, 65283, 65277, 65281, 65266, 65255, 65219, 65191,
|
||||||
|
65153, 65126, 65107, 65101, 65106, 65116, 65127, 65140,
|
||||||
|
65149, 65167, 65190, 65227, 65277, 65338, 65398, 65454,
|
||||||
|
65485, 65503, 65497, 65484, 65478, 65486, 65527, 55,
|
||||||
|
138, 221, 296, 339, 359, 350, 330, 307,
|
||||||
|
286, 273, 252, 229, 182, 126, 54, 65523,
|
||||||
|
65464, 65426, 65396, 65383, 65361, 65344, 65311, 65293,
|
||||||
|
65279, 65289, 65326, 65365, 65414, 65439, 65435, 65412,
|
||||||
|
65355, 65314, 65265, 65258, 65258, 65282, 65314, 65328,
|
||||||
|
65351, 65347, 65362, 65375, 65413, 65466, 4, 82,
|
||||||
|
160, 223, 265, 288, 278, 262, 225, 203,
|
||||||
|
183, 187, 203, 238, 267, 296, 307, 300,
|
||||||
|
289, 265, 251, 243, 243, 244, 252, 243,
|
||||||
|
240, 226, 210, 198, 178, 160, 133, 100,
|
||||||
|
67, 37, 16, 7, 3, 3, 65531, 65512,
|
||||||
|
65485, 65452, 65433, 65423, 65443, 65473, 65515, 17,
|
||||||
|
41, 47, 44, 33, 30, 42, 69, 112,
|
||||||
|
166, 221, 278, 321, 366, 393, 419, 427,
|
||||||
|
429, 410, 389, 348, 312, 267, 233, 205,
|
||||||
|
186, 183, 180, 190, 188, 185, 157, 121,
|
||||||
|
63, 3, 65484, 65441, 65426, 65430, 65453, 65484,
|
||||||
|
65510, 65515, 65509, 65470, 65433, 65381, 65343, 65314,
|
||||||
|
65303, 65305, 65320, 65338, 65369, 65399, 65437, 65479,
|
||||||
|
65528, 34, 84, 111, 132, 130, 105, 67,
|
||||||
|
13, 65496, 65453, 65427, 65433, 65460, 65511, 33,
|
||||||
|
87, 124, 136, 128, 109, 88, 86, 95,
|
||||||
|
132, 163, 192, 189, 158, 91, 10, 65448,
|
||||||
|
65367, 65293, 65240, 65197, 65163, 65143, 65143, 65173,
|
||||||
|
65245, 65356, 65502, 111, 224, 269, 205, 37,
|
||||||
|
65296, 64953, 64611, 64327, 64189, 64242, 64507, 64960,
|
||||||
|
65522, 549, 990, 1204, 1137, 798, 271, 65202,
|
||||||
|
64674, 64310, 64197, 64317, 64627, 65050, 65499, 373,
|
||||||
|
705, 923, 1031, 997, 840, 553, 176, 65311,
|
||||||
|
64942, 64710, 64634, 64749, 64999, 65321, 91, 312,
|
||||||
|
414, 398, 305, 176, 52, 65502, 65441, 65425,
|
||||||
|
65421, 65442, 65485, 65534, 62, 104, 105, 51,
|
||||||
|
65461, 65289, 65096, 64928, 64818, 64797, 64857, 64992,
|
||||||
|
65166, 65356, 0, 160, 286, 390, 455, 495,
|
||||||
|
496, 456, 380, 267, 139, 20, 65473, 65466,
|
||||||
|
14, 192, 438, 681, 865, 891, 742, 402,
|
||||||
|
65496, 65053, 64747, 64670, 64870, 65283, 270, 741,
|
||||||
|
1031, 1067, 856, 483, 65, 65256, 65035, 64951,
|
||||||
|
64939, 64950, 64923, 64876, 64836, 64881, 65045, 65346,
|
||||||
|
172, 530, 759, 812, 675, 402, 90, 65382,
|
||||||
|
65268, 65319, 65491, 177, 360, 431, 361, 152,
|
||||||
|
65405, 65108, 64894, 64821, 64918, 65187, 25, 435,
|
||||||
|
786, 998, 1042, 908, 651, 343, 51, 65378,
|
||||||
|
65254, 65231, 65248, 65306, 65348, 65406, 65466, 21,
|
||||||
|
149, 289, 436, 528, 561, 499, 356, 155,
|
||||||
|
65464, 65257, 65107, 65037, 65066, 65181, 65354, 17,
|
||||||
|
187, 297, 324, 264, 152, 16, 65435, 65361,
|
||||||
|
65325, 65323, 65318, 65301, 65265, 65239, 65250, 65333,
|
||||||
|
65498, 186, 426, 622, 710, 669, 500, 246,
|
||||||
|
65509, 65293, 65170, 65187, 65299, 65491, 144, 293,
|
||||||
|
358, 337, 250, 133, 43, 65521, 13, 63,
|
||||||
|
148, 200, 197, 125, 65533, 65365, 65219, 65103,
|
||||||
|
65058, 65071, 65124, 65194, 65244, 65275, 65274, 65267,
|
||||||
|
65267, 65298, 65355, 65441, 65517, 43, 49, 13,
|
||||||
|
65465, 65365, 65281, 65243, 65274, 65384, 14, 223,
|
||||||
|
417, 584, 672, 687, 620, 491, 324, 141,
|
||||||
|
65493, 65332, 65185, 65082, 65004, 64992, 65027, 65145,
|
||||||
|
65319, 5, 240, 441, 567, 592, 489, 289,
|
||||||
|
14, 65256, 64995, 64803, 64714, 64728, 64827, 64996,
|
||||||
|
65189, 65385, 23, 153, 235, 269, 249, 198,
|
||||||
|
110, 16, 65451, 65362, 65297, 65251, 65242, 65254,
|
||||||
|
65287, 65336, 65378, 65419, 65439, 65447, 65439, 65434,
|
||||||
|
65429, 65452, 65484, 7, 64, 108, 132, 109,
|
||||||
|
63, 65524, 65455, 65402, 65395, 65430, 65513, 87,
|
||||||
|
199, 303, 365, 393, 367, 303, 201, 75,
|
||||||
|
65476, 65341, 65236, 65155, 65134, 65149, 65225, 65322,
|
||||||
|
65445, 17, 101, 139, 124, 56, 65489, 65372,
|
||||||
|
65257, 65181, 65141, 65160, 65218, 65317, 65434, 24,
|
||||||
|
146, 257, 345, 422, 457, 475, 457, 411,
|
||||||
|
346, 265, 177, 109, 52, 30, 31, 51,
|
||||||
|
81, 113, 142, 161, 183, 190, 192, 167,
|
||||||
|
104, 11, 65415, 65272, 65150, 65063, 65058, 65124,
|
||||||
|
65254, 65432, 64, 219, 311, 353, 337, 287,
|
||||||
|
213, 135, 63, 65533, 65465, 65398, 65313, 65226,
|
||||||
|
65149, 65090, 65086, 65134, 65233, 65373, 65510, 105,
|
||||||
|
190, 236, 237, 214, 170, 123, 70, 16,
|
||||||
|
65489, 65424, 65355, 65297, 65272, 65276, 65343, 65450,
|
||||||
|
62, 217, 345, 426, 431, 371, 264, 133,
|
||||||
|
17, 65463, 65411, 65387, 65395, 65401, 65424, 65437,
|
||||||
|
65451, 65479, 65506, 24, 79, 151, 208, 253,
|
||||||
|
260, 229, 161, 64, 65497, 65403, 65343, 65320,
|
||||||
|
65337, 65381, 65434, 65488, 65530, 31, 60, 86,
|
||||||
|
118, 139, 170, 179, 196, 198, 197, 202,
|
||||||
|
190, 198, 188, 189, 186, 175, 168, 153,
|
||||||
|
138, 125, 109, 91, 75, 46, 17, 65520,
|
||||||
|
65488, 65475, 65470, 65490, 65526, 30, 74, 111,
|
||||||
|
134, 154, 148, 139, 103, 55, 65528, 65458,
|
||||||
|
65395, 65348, 65321, 65332, 65378, 65457, 37, 150,
|
||||||
|
270, 353, 401, 403, 361, 292, 203, 105,
|
||||||
|
15, 65459, 65387, 65320, 65271, 65248, 65251, 65293,
|
||||||
|
65371, 65480, 73, 202, 309, 387, 406, 383,
|
||||||
|
299, 187, 45, 65447, 65317, 65228, 65158, 65132,
|
||||||
|
65121, 65144, 65173, 65231, 65293, 65378, 65462, 10,
|
||||||
|
71, 97, 86, 32, 65503, 65429, 65386, 65374,
|
||||||
|
65402, 65462, 65530, 60, 104, 118, 107, 66,
|
||||||
|
18, 65501, 65452, 65413, 65375, 65338, 65301, 65258,
|
||||||
|
65221, 65184, 65175, 65179, 65224, 65297, 65404, 65529,
|
||||||
|
134, 255, 359, 418, 431, 393, 316, 203,
|
||||||
|
87, 65495, 65402, 65314, 65276, 65253, 65280, 65319,
|
||||||
|
65397, 65475, 36, 113, 185, 225, 239, 231,
|
||||||
|
194, 143, 85, 15, 65485, 65419, 65353, 65299,
|
||||||
|
65260, 65239, 65254, 65291, 65358, 65447, 5, 104,
|
||||||
|
184, 245, 270, 268, 231, 184, 133, 85,
|
||||||
|
67, 42, 44, 25, 7, 65515, 65471, 65438,
|
||||||
|
65395, 65372, 65345, 65339, 65333, 65354, 65380, 65437,
|
||||||
|
65499, 44, 120, 193, 253, 299, 331, 353,
|
||||||
|
359, 356, 324, 275, 183, 69, 65462, 65316,
|
||||||
|
65181, 65081, 65036, 65054, 65137, 65269, 65441, 80,
|
||||||
|
261, 404, 522, 592, 620, 602, 539, 441,
|
||||||
|
304, 157, 65522, 65372, 65233, 65134, 65077, 65062,
|
||||||
|
65092, 65157, 65240, 65339, 65428, 65512, 46, 105,
|
||||||
|
161, 202, 238, 256, 253, 231, 194, 146,
|
||||||
|
109, 79, 71, 79, 97, 117, 125, 116,
|
||||||
|
86, 33, 65513, 65448, 65407, 65377, 65373, 65392,
|
||||||
|
65417, 65462, 65505, 18, 75, 119, 162, 171,
|
||||||
|
164, 112, 44, 65486, 65390, 65295, 65223, 65166,
|
||||||
|
65148, 65150, 65181, 65235, 65301, 65386, 65464, 16,
|
||||||
|
81, 135, 164, 159, 138, 82, 21, 65485,
|
||||||
|
65424, 65363, 65329, 65301, 65299, 65313, 65347, 65397,
|
||||||
|
65465, 65531, 66, 112, 148, 150, 138, 102,
|
||||||
|
62, 23, 65522, 65506, 65490, 65490, 65484, 65477,
|
||||||
|
65464, 65442, 65421, 65400, 65382, 65378, 65372, 65381,
|
||||||
|
65380, 65382, 65374, 65369, 65364, 65380, 65407, 65459,
|
||||||
|
65526, 62, 138, 198, 242, 258, 249, 211,
|
||||||
|
151, 75, 65524, 65439, 65359, 65296, 65255, 65238,
|
||||||
|
65249, 65276, 65324, 65376, 65434, 65490, 11, 62,
|
||||||
|
113, 157, 192, 219, 231, 235, 221, 210,
|
||||||
|
181, 154, 117, 68, 15, 65488, 65430, 65380,
|
||||||
|
65359, 65356, 65388, 65435, 65490, 14, 53, 87,
|
||||||
|
88, 91, 64, 53, 25, 21, 19, 37,
|
||||||
|
59, 86, 102, 111, 100, 88, 67, 57,
|
||||||
|
48, 55, 51, 58, 47, 45, 33, 35,
|
||||||
|
35, 47, 60, 76, 87, 93, 84, 70,
|
||||||
|
48, 28, 17, 8, 6, 65534, 65515, 65490,
|
||||||
|
65450, 65421, 65393, 65393, 65415, 65460, 65516, 38,
|
||||||
|
76, 98, 85, 53, 4, 65484, 65432, 65386,
|
||||||
|
65355, 65334, 65329, 65327, 65343, 65356, 65388, 65421,
|
||||||
|
65466, 65512, 25, 70, 106, 131, 141, 136,
|
||||||
|
121, 96, 62, 37, 3, 65521, 65503, 65494,
|
||||||
|
65495, 65494, 65500, 65501, 65502, 65491, 65490, 65474,
|
||||||
|
65479, 65474, 65489, 65500, 65528, 15, 46, 66,
|
||||||
|
85, 87, 87, 75, 62, 40, 22, 65535,
|
||||||
|
65514, 65497, 65473, 65457, 65434, 65416, 65398, 65380,
|
||||||
|
65377, 65373, 65390, 65409, 65440, 65476, 65513, 15,
|
||||||
|
50, 80, 103, 119, 124, 120, 111, 90,
|
||||||
|
78, 64, 54, 54, 46, 49, 47, 47,
|
||||||
|
55, 59, 63, 67, 57, 50, 32, 12,
|
||||||
|
65531, 65507, 65504, 65494, 65504, 65515, 65525, 6,
|
||||||
|
10, 18, 18, 14, 14, 10, 20, 28,
|
||||||
|
41, 52, 54, 53, 40, 29, 12, 5,
|
||||||
|
65530, 65533, 65527, 4, 2, 14, 13, 8,
|
||||||
|
6, 65525, 65519, 65501, 65489, 65481, 65479, 65496,
|
||||||
|
65522, 31, 76, 123, 146, 164, 146, 129,
|
||||||
|
83, 48, 5, 65514, 65491, 65480, 65472, 65466,
|
||||||
|
65469, 65468, 65477, 65493, 65500, 65526, 65529, 17,
|
||||||
|
20, 37, 42, 53, 60, 67, 77, 79,
|
||||||
|
86, 80, 73, 54, 34, 2, 65511, 65475,
|
||||||
|
65455, 65432, 65428, 65430, 65444, 65466, 65495, 65526,
|
||||||
|
22, 53, 77, 94, 99, 91, 76, 49,
|
||||||
|
30, 8, 0, 3, 12, 36, 53, 70,
|
||||||
|
76, 69, 55, 33, 11, 65526, 65518, 65507,
|
||||||
|
65516, 65517, 65529, 65534, 3, 7, 8, 11,
|
||||||
|
17, 15, 27, 24, 32, 37, 39, 50,
|
||||||
|
55, 72, 82, 100, 112, 116, 121, 110,
|
||||||
|
99, 84, 65, 53, 39, 39, 35, 42,
|
||||||
|
46, 47, 50, 40, 35, 18, 9, 65535,
|
||||||
|
1, 8, 27, 45, 61, 76, 78, 79,
|
||||||
|
75, 66, 66, 57, 59, 50, 46, 35,
|
||||||
|
22, 6, 65530, 65511, 65501, 65487, 65475, 65470,
|
||||||
|
65464, 65466, 65475, 65484, 65499, 65512, 65525, 65531,
|
||||||
|
5, 1, 3, 65533, 65533, 65528, 65528, 65525,
|
||||||
|
65521, 65514, 65504, 65486, 65469, 65448, 65430, 65417,
|
||||||
|
65409, 65415, 65414, 65434, 65435, 65453, 65455, 65465,
|
||||||
|
65469, 65477, 65484, 65496, 65507, 65517, 65527, 65530,
|
||||||
|
65532, 65527, 65513, 65499, 65477, 65453, 65433, 65408,
|
||||||
|
65397, 65379, 65378, 65365, 65376, 65371, 65388, 65392,
|
||||||
|
65407, 65415, 65420, 65427, 65422, 65433, 65427, 65440,
|
||||||
|
65439, 65447, 65454, 65456, 65462, 65464, 65462, 65465,
|
||||||
|
65462, 65465, 65465, 65471, 65472, 65474, 65476, 65467,
|
||||||
|
65469, 65460, 65465, 65469, 65475, 65488, 65490, 65501,
|
||||||
|
65496, 65500, 65494, 65498, 65492, 65501, 65501, 65512,
|
||||||
|
65525, 0, 19, 33, 47, 63, 68, 78,
|
||||||
|
71, 71, 56, 53, 42, 42, 41, 41,
|
||||||
|
45, 43, 44, 41, 38, 35, 29, 26,
|
||||||
|
22, 20, 21, 20, 29, 33, 40, 50,
|
||||||
|
52, 63, 65, 73, 75, 77, 75, 74,
|
||||||
|
66, 63, 49, 46, 33, 27, 23, 18,
|
||||||
|
23, 26, 37, 51, 67, 92, 104, 125,
|
||||||
|
126, 132, 125, 119, 110, 96, 91, 77,
|
||||||
|
80, 73, 81, 82, 85, 89, 86, 82,
|
||||||
|
69, 52, 30, 3, 65522, 65503, 65505, 65500,
|
||||||
|
65519, 65525, 14, 29, 51, 69, 83, 90,
|
||||||
|
98, 95, 97, 95, 90, 93, 86, 83,
|
||||||
|
79, 65, 56, 36, 19, 1, 65524, 65516,
|
||||||
|
65509, 65509, 65506, 65511, 65510, 65514, 65511, 65507,
|
||||||
|
65503, 65500, 65506, 65516, 65531, 5, 12, 9,
|
||||||
|
65533, 65520, 65495, 65475, 65453, 65435, 65425, 65417,
|
||||||
|
65417, 65417, 65421, 65427, 65434, 65443, 65446, 65451,
|
||||||
|
65450, 65451, 65454, 65459, 65458, 65464, 65454, 65454,
|
||||||
|
65445, 65435, 65431, 65416, 65416, 65412, 65416, 65427,
|
||||||
|
65436, 65447, 65460, 65474, 65489, 65505, 65505, 65512,
|
||||||
|
65497, 65498, 65485, 65484, 65478, 65476, 65475, 65487,
|
||||||
|
65502, 65521
|
||||||
|
};
|
||||||
|
|
2140
audio_error.c
Normal file
2140
audio_error.c
Normal file
File diff suppressed because it is too large
Load Diff
2635
audio_msg.c
Normal file
2635
audio_msg.c
Normal file
File diff suppressed because it is too large
Load Diff
47
chat_receiver.c
Normal file
47
chat_receiver.c
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file chat_receiver.c
|
||||||
|
/// \brief Chat receiver thread
|
||||||
|
/// \author Pascal Sartoretti (sap at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD CHAT RECEIVER
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void ChatReceiver(void *argument)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
osStatus_t retCode; // return error code
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
for (;;) // loop until doomsday
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE READ
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueueGet(
|
||||||
|
queue_chatR_id,
|
||||||
|
&queueMsg,
|
||||||
|
NULL,
|
||||||
|
osWaitForever);
|
||||||
|
queueMsg.type = CHAT_MSG;
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_lcd_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
142
chat_sender.c
Normal file
142
chat_sender.c
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file chat_sender.c
|
||||||
|
/// \brief Chat sender thread
|
||||||
|
/// \author Pascal Sartoretti (sap at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include "main.h"
|
||||||
|
#include "ext_keyboard.h"
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Called on interrupt keyboard received char
|
||||||
|
/// \param The GPIO pin caused interrupt (GPIO_PIN_8)
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
osStatus_t retCode;
|
||||||
|
|
||||||
|
if((GPIO_Pin == GPIO_PIN_8))
|
||||||
|
{
|
||||||
|
if(ext_kbChar != 0)
|
||||||
|
{
|
||||||
|
queueMsg.addr = ext_kbChar;
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_keyboard_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
0);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD CHAT SENDER
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void ChatSender(void *argument)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
char * msg; // any string pointer
|
||||||
|
char msgToSend[255]; // keep message to send
|
||||||
|
uint8_t msgToSendPtr=0; // counter of received bytes
|
||||||
|
osStatus_t retCode; // return error code
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Initialize the keyboard
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
Ext_Keyboard_Init();
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
for (;;) // loop until doomsday
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE READ
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueueGet(
|
||||||
|
queue_keyboard_id,
|
||||||
|
&queueMsg,
|
||||||
|
NULL,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
if((gTokenInterface.connected != FALSE)
|
||||||
|
&&(gTokenInterface.currentView == MAINDISPLAY))
|
||||||
|
{
|
||||||
|
// message to send ---------------------------------------------------------
|
||||||
|
if(queueMsg.addr == 0x0D) // a <CR> has been received
|
||||||
|
{
|
||||||
|
// echo LCD
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY ALLOCATION
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
msg = osMemoryPoolAlloc(memPool,osWaitForever);
|
||||||
|
queueMsg.type = CHAR_MSG;
|
||||||
|
queueMsg.anyPtr = msg;
|
||||||
|
msg[0] = 0x0D; // send a CR
|
||||||
|
msg[1] = 0x0A; // and a LF
|
||||||
|
msg[2] = 0;
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_lcd_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
|
||||||
|
// prepare message to send
|
||||||
|
msgToSend[msgToSendPtr] = 0; // end of C string
|
||||||
|
msgToSendPtr = 0;
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY ALLOCATION
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
msg = osMemoryPoolAlloc(memPool,osWaitForever);
|
||||||
|
queueMsg.addr = gTokenInterface.destinationAddress;
|
||||||
|
queueMsg.sapi = CHAT_SAPI;
|
||||||
|
queueMsg.type = DATA_IND;
|
||||||
|
queueMsg.anyPtr = msg;
|
||||||
|
memcpy(msg,msgToSend,strlen(msgToSend)+1);
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_macS_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
// just display char ---------------------------------------------------------
|
||||||
|
else if (msgToSendPtr < 250) // message size limit
|
||||||
|
{
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY ALLOCATION
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
msg = osMemoryPoolAlloc(memPool,osWaitForever);
|
||||||
|
queueMsg.type = CHAR_MSG;
|
||||||
|
queueMsg.anyPtr = msg;
|
||||||
|
msgToSend[msgToSendPtr] = queueMsg.addr;
|
||||||
|
msgToSendPtr++;
|
||||||
|
msg[0] = queueMsg.addr;
|
||||||
|
msg[1] = 0;
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_lcd_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
246
debug.c
Normal file
246
debug.c
Normal file
@ -0,0 +1,246 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file debug.c
|
||||||
|
/// \brief Debug thread (simulation of a connected station)
|
||||||
|
/// \author Pascal Sartoretti (sap at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "main.h"
|
||||||
|
#include "ext_led.h"
|
||||||
|
|
||||||
|
extern uint8_t gInBuffer[256]; // generic byte receive buffer
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD DEBUG
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void DebugStation(void *argument)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
uint8_t * tokenPtr=0;
|
||||||
|
uint8_t * qPtr;
|
||||||
|
uint8_t checksum;
|
||||||
|
uint8_t statusByte;
|
||||||
|
uint8_t i;
|
||||||
|
uint8_t * msg;
|
||||||
|
uint8_t lastDebugAddress=0;
|
||||||
|
uint8_t waitForDataback=0;
|
||||||
|
const uint8_t debugMsg[] = "Msg from debug !";
|
||||||
|
osStatus_t retCode;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
isTOKEN, // a TOKEN frame is received
|
||||||
|
isSOURCE, // a SOURCE frame is received
|
||||||
|
isDEST, // a DEST. frame is received
|
||||||
|
isERROR, // a BAD frame is received
|
||||||
|
isBROADCAST,
|
||||||
|
}frameType;
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
for (;;) // loop until doomsday
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE READ
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueueGet(
|
||||||
|
queue_dbg_id,
|
||||||
|
&queueMsg,
|
||||||
|
NULL,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
qPtr = queueMsg.anyPtr;
|
||||||
|
if (qPtr[0]==TOKEN_TAG)
|
||||||
|
{
|
||||||
|
frameType = isTOKEN;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
else if ((qPtr[1]>>3) == gTokenInterface.debugAddress) // is a dest. frame
|
||||||
|
{
|
||||||
|
if(gTokenInterface.debugOnline != FALSE)
|
||||||
|
{
|
||||||
|
frameType = isDEST;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
frameType = isERROR; // station not connected
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
else if (qPtr[0]>>3 == gTokenInterface.debugAddress) // is it a source frame
|
||||||
|
{
|
||||||
|
frameType = isSOURCE;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
else if (qPtr[1]>>3 == BROADCAST_ADDRESS) // is it a broadcast
|
||||||
|
{
|
||||||
|
frameType = isBROADCAST;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
else // is unknow
|
||||||
|
{
|
||||||
|
frameType = isERROR;
|
||||||
|
}
|
||||||
|
switch(frameType)
|
||||||
|
{
|
||||||
|
//****************************************************************************
|
||||||
|
case isTOKEN:
|
||||||
|
qPtr[gTokenInterface.debugAddress+1] = (1 << TIME_SAPI);
|
||||||
|
if(gTokenInterface.debugOnline != FALSE)
|
||||||
|
{
|
||||||
|
qPtr[gTokenInterface.debugAddress+1] |= (1 << gTokenInterface.debugSAPI);
|
||||||
|
}
|
||||||
|
if(lastDebugAddress != gTokenInterface.debugAddress) // if address changed
|
||||||
|
{
|
||||||
|
qPtr[lastDebugAddress+1] = 0; // update last
|
||||||
|
lastDebugAddress = gTokenInterface.debugAddress; // set new<->last
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
if(gTokenInterface.debugMsgToSend != FALSE)
|
||||||
|
{
|
||||||
|
waitForDataback = 1;
|
||||||
|
gTokenInterface.debugMsgToSend = FALSE;
|
||||||
|
tokenPtr = qPtr; // keep copy of token
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY ALLOCATION
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
msg = osMemoryPoolAlloc(memPool,osWaitForever);
|
||||||
|
msg[0] = (gTokenInterface.debugAddress << 3) | gTokenInterface.debugSAPI;
|
||||||
|
msg[1] = (gTokenInterface.myAddress << 3) | gTokenInterface.debugSAPI;
|
||||||
|
msg[2] = sizeof(debugMsg)-1;
|
||||||
|
memcpy(&msg[3],debugMsg,sizeof(debugMsg)-1);
|
||||||
|
checksum = 0;
|
||||||
|
for(i=0;i<(msg[2]+3);i++) // calculate checksum
|
||||||
|
checksum += msg[i];
|
||||||
|
if(gTokenInterface.needSendCRCError != FALSE)
|
||||||
|
{
|
||||||
|
checksum += 1;
|
||||||
|
printf(">> Debug send pseudo error <<\r\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf(">> Debug send message ok <<\r\n");
|
||||||
|
}
|
||||||
|
checksum = checksum << 2;
|
||||||
|
msg[sizeof(debugMsg) -1 + 3] = checksum;
|
||||||
|
queueMsg.anyPtr = msg;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
//****************************************************************************
|
||||||
|
case isDEST:
|
||||||
|
statusByte = qPtr[qPtr[2] + 3];
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
if((gTokenInterface.needReceiveCRCError != FALSE) && // pseudo error
|
||||||
|
((qPtr[1] && 0x03) == gTokenInterface.debugSAPI))
|
||||||
|
{
|
||||||
|
printf(">> Debug answer pseudo error <<\r\n");
|
||||||
|
qPtr[qPtr[2] + 3] |= 0x02; // set RD bit
|
||||||
|
qPtr[qPtr[2] + 3] &= 0xFE; // clear ACK bit
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
else if((qPtr[1] && 0x03) == gTokenInterface.debugSAPI) // control is OK
|
||||||
|
{
|
||||||
|
checksum = 0;
|
||||||
|
for(i=0;i<(qPtr[2]+3);i++) // calculate checksum
|
||||||
|
checksum += qPtr[i];
|
||||||
|
checksum = checksum << 2;
|
||||||
|
if(checksum == (statusByte & 0xFC)) // checksum OK
|
||||||
|
{
|
||||||
|
printf(">> Debug answer ok <<\r\n");
|
||||||
|
qPtr[qPtr[2] + 3] |= 0x03; // set RD & ACK bits
|
||||||
|
}
|
||||||
|
else // checksum real error
|
||||||
|
{
|
||||||
|
printf(">> Debug answer error detected <<\r\n");
|
||||||
|
qPtr[qPtr[2] + 3] |= 0x02; // set RD bit
|
||||||
|
qPtr[qPtr[2] + 3] &= 0xFE; // clear ACK bit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
else // bad SAPI
|
||||||
|
{
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
//****************************************************************************
|
||||||
|
case isSOURCE:
|
||||||
|
if(waitForDataback == 0) // I've send nothing ...
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
waitForDataback = 0;
|
||||||
|
checksum = qPtr[qPtr[2] + 3];
|
||||||
|
switch(checksum & 0x03)
|
||||||
|
{
|
||||||
|
case 0x03: // all was OK
|
||||||
|
case 0x01: // or not RD
|
||||||
|
case 0x00: // or not RD
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY RELEASE
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMemoryPoolFree(memPool,qPtr);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
queueMsg.anyPtr = tokenPtr;
|
||||||
|
break;
|
||||||
|
case 0x02: // RD but not ACK
|
||||||
|
waitForDataback = 1;
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY RELEASE
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMemoryPoolFree(memPool,qPtr);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY ALLOCATION
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
msg = osMemoryPoolAlloc(memPool,osWaitForever);
|
||||||
|
msg[0] = (gTokenInterface.debugAddress << 3) | gTokenInterface.debugSAPI;
|
||||||
|
msg[1] = (gTokenInterface.myAddress << 3) | gTokenInterface.debugSAPI;
|
||||||
|
msg[2] = sizeof(debugMsg)-1;
|
||||||
|
memcpy(&msg[3],debugMsg,sizeof(debugMsg)-1);
|
||||||
|
checksum = 0;
|
||||||
|
for(i=0;i<(msg[2]+3);i++) // calculate checksum
|
||||||
|
checksum += msg[i];
|
||||||
|
if(gTokenInterface.needSendCRCError != FALSE)
|
||||||
|
{
|
||||||
|
printf(">> Debug RE-send pseudo error <<\r\n");
|
||||||
|
checksum += 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf(">> Debug RE-send without error <<\r\n");
|
||||||
|
}
|
||||||
|
checksum = checksum << 2;
|
||||||
|
msg[sizeof(debugMsg) -1 + 3] = checksum;
|
||||||
|
queueMsg.anyPtr = msg;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default: // IS Error or unknow
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
osDelay(300); // wait 500 ms for simulation delay
|
||||||
|
qPtr = queueMsg.anyPtr;
|
||||||
|
if(qPtr[0] == TOKEN_TAG)
|
||||||
|
{
|
||||||
|
Ext_LED_PWM(1,100); // token is in station
|
||||||
|
}
|
||||||
|
queueMsg.type = FROM_PHY;
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// DEBUG DISPLAY FRAME
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
DebugMacFrame('R',qPtr);
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND (send message to mac receiver)
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_macR_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
0);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
330
debuglayer.c
Normal file
330
debuglayer.c
Normal file
@ -0,0 +1,330 @@
|
|||||||
|
#include "armebs3.h" /* peripherals definitions */
|
||||||
|
#include "mezza_lcd\mezza_lcd.h" /* LCD Mezza library */
|
||||||
|
#include <tx_api.h> /* threadX def. header file */
|
||||||
|
#include <stdlib.h> /* std lib definitions file */
|
||||||
|
#include <stdio.h> /* standard IO functions */
|
||||||
|
#include <tokenring.h> /* tokenring constants */
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
/* EXTERNAL DEFINED GLOBAL VARIABLES */
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
extern UINT8 gDebugSend;
|
||||||
|
extern UINT8 gDebugAddress;
|
||||||
|
extern UINT8 gDebugSapi;
|
||||||
|
extern UINT8 gDebugSendCrcError;
|
||||||
|
extern UINT8 gDebugReceiveCrcError;
|
||||||
|
extern UINT8 gInBuffer[300];
|
||||||
|
extern UINT8 MYADDRESS;
|
||||||
|
extern TX_QUEUE gDebug_Q;
|
||||||
|
extern TX_EVENT_FLAGS_GROUP gEvents_E;
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
/* Name : CheckRetCodeDebug */
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
/* Inputs : retCode, lineNumber, mode */
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
/* Function : - displays the error when an error happends */
|
||||||
|
/****************************************************************************/
|
||||||
|
void CheckRetCodeDebug(UINT32 retCode,UINT32 lineNumber,UINT8 mode)
|
||||||
|
{
|
||||||
|
if(retCode != 0) /* when error occurs */
|
||||||
|
{
|
||||||
|
Debug("In Debugger line : ",lineNumber); /* display line number */
|
||||||
|
Debug("Error : ",retCode); /* with error number */
|
||||||
|
if (mode == HALT) /* when mode is HALT */
|
||||||
|
{
|
||||||
|
while(1){} /* stays here forever */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/****************************************************************************/
|
||||||
|
/* TaskName : DebugManager */
|
||||||
|
/*--------------------------------------------------------------------------*/
|
||||||
|
/* Function : - simulate a station with the tokenring interface */
|
||||||
|
/****************************************************************************/
|
||||||
|
void DebugManager(void)
|
||||||
|
{
|
||||||
|
HEADER msg;
|
||||||
|
UINT8 *ptr;
|
||||||
|
UINT8 *tokenPtr;
|
||||||
|
INT32 retCode;
|
||||||
|
UINT8 msgStr[]="Test Message from Debug !";
|
||||||
|
UINT8 srcControl;
|
||||||
|
UINT8 dstControl;
|
||||||
|
UINT8 size;
|
||||||
|
UINT8 checksum;
|
||||||
|
UINT8 i;
|
||||||
|
UINT8 lastDebugAddress;
|
||||||
|
UINT8 statusByte;
|
||||||
|
|
||||||
|
gDebugSend = 0;
|
||||||
|
gDebugAddress = 6;
|
||||||
|
gDebugSapi = 1;
|
||||||
|
gDebugSendCrcError = 0;
|
||||||
|
gDebugReceiveCrcError = 0;
|
||||||
|
lastDebugAddress = gDebugAddress;
|
||||||
|
/*------------------------------------------------------------------------*/
|
||||||
|
while(1) /* forever loop */
|
||||||
|
{
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>>>>>> QUEUE READ */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
retCode = tx_queue_receive(
|
||||||
|
&gDebug_Q,
|
||||||
|
&msg,
|
||||||
|
TX_WAIT_FOREVER);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
ptr = msg.data.ptr;
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* TOKEN RECEIVED */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
if(*(ptr+1) == TOKEN)
|
||||||
|
{
|
||||||
|
ptr[gDebugAddress+2] = (1 << gDebugSapi); /* update dbg SAPI */
|
||||||
|
if(lastDebugAddress != gDebugAddress) /* if address changed */
|
||||||
|
{
|
||||||
|
ptr[lastDebugAddress+2] &= ~(1 << gDebugSapi); /* update last */
|
||||||
|
lastDebugAddress = gDebugAddress; /* set new<->last */
|
||||||
|
}
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
/* WAIT TO SEND MSG */
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
if(gDebugSend == 1)
|
||||||
|
{
|
||||||
|
gDebugSend = 0; /* stop send nxt time */
|
||||||
|
tokenPtr = ptr;
|
||||||
|
srcControl = (gDebugAddress << 3) + gDebugSapi;
|
||||||
|
dstControl = (MYADDRESS << 3) + gDebugSapi;
|
||||||
|
size = strlen(msgStr);
|
||||||
|
*gInBuffer = 0x02;
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
/* MSG CREATION */
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
*(gInBuffer+1) = srcControl;
|
||||||
|
*(gInBuffer+2) = dstControl;
|
||||||
|
*(gInBuffer+3) = size;
|
||||||
|
strcpy(gInBuffer+4,msgStr);
|
||||||
|
*(gInBuffer+3+size) = 0x0D;
|
||||||
|
checksum = 0;
|
||||||
|
for(i=0;i<size+3;i++)
|
||||||
|
checksum += *(gInBuffer+i+1);
|
||||||
|
*(gInBuffer+size+4) = checksum << 2;
|
||||||
|
*(gInBuffer+size+5) = 0x03;
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
if(gDebugSendCrcError == 1)
|
||||||
|
{
|
||||||
|
*(gInBuffer+size+4) += 4; /* simulate error CS */
|
||||||
|
}
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>>>> EVENT SET */
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
retCode = tx_event_flags_set(
|
||||||
|
&gEvents_E,
|
||||||
|
RS232_FR_EVENT,
|
||||||
|
TX_OR);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
}
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
/* NO MSG TO SEND */
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
else /* token back */
|
||||||
|
{
|
||||||
|
for(i=0;i<19;i++)
|
||||||
|
{
|
||||||
|
gInBuffer[i] = *(ptr+i);
|
||||||
|
}
|
||||||
|
retCode = tx_byte_release((void*)ptr);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>>>> EVENT SET */
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
retCode = tx_event_flags_set(
|
||||||
|
&gEvents_E,
|
||||||
|
RS232_FR_EVENT,
|
||||||
|
TX_OR);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* DATABACK RECEIVED */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
else if (*(ptr+1)>>3 == gDebugAddress)
|
||||||
|
{
|
||||||
|
statusByte = *(ptr+*(ptr+3)+4);
|
||||||
|
statusByte &= 0x03;
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
switch(statusByte)
|
||||||
|
{
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
/* RD = 1, ACK = 1 */
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
case 0x03: /* RD = 1, ACK = 1 */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>> MEMORY RELEASE */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
retCode = tx_byte_release((void*)ptr);
|
||||||
|
for(i=0;i<19;i++)
|
||||||
|
{
|
||||||
|
gInBuffer[i] = *(tokenPtr+i);
|
||||||
|
}
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>> MEMORY RELEASE */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
retCode = tx_byte_release((void*)tokenPtr);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>> EVENT SET */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
retCode = tx_event_flags_set(
|
||||||
|
&gEvents_E,
|
||||||
|
RS232_FR_EVENT,
|
||||||
|
TX_OR);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
break;
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
/* RD = 1, ACK = 0 */
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
case 0x02: /* RD = 1, ACK = 0 */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>> MEMORY RELEASE */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
retCode = tx_byte_release((void*)ptr);
|
||||||
|
srcControl = (gDebugAddress << 3) + gDebugSapi;
|
||||||
|
dstControl = (MYADDRESS << 3) + CHAT_SAPI;
|
||||||
|
size = strlen(msgStr);
|
||||||
|
*gInBuffer = 0x02;
|
||||||
|
*(gInBuffer+1) = srcControl;
|
||||||
|
*(gInBuffer+2) = dstControl;
|
||||||
|
*(gInBuffer+3) = size;
|
||||||
|
strcpy(gInBuffer+4,msgStr);
|
||||||
|
*(gInBuffer+3+size) = 0x0D;
|
||||||
|
checksum = 0;
|
||||||
|
for(i=0;i<size+3;i++)
|
||||||
|
checksum += *(gInBuffer+i+1);
|
||||||
|
*(gInBuffer+size+4) = checksum << 2;
|
||||||
|
*(gInBuffer+size+5) = 0x03;
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
if(gDebugSendCrcError == 1)
|
||||||
|
{
|
||||||
|
*(gInBuffer+size+4) += 4; /* simulate error CS */
|
||||||
|
}
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>> EVENT SET */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
retCode = tx_event_flags_set(
|
||||||
|
&gEvents_E,
|
||||||
|
RS232_FR_EVENT,
|
||||||
|
TX_OR);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
Debug("DBL>> MESSAGE ACK ERROR -> SEND MESSAGE AGAIN ",0);
|
||||||
|
break;
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
/* RD = 0, ACK = x */
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
case 0x01: /* RD = 0, ACK = 1 */
|
||||||
|
case 0x00: /* RD = 0, ACK = 0 */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>> MEMORY RELEASE */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
retCode = tx_byte_release((void*)ptr);
|
||||||
|
for(i=0;i<19;i++)
|
||||||
|
{
|
||||||
|
gInBuffer[i] = *(tokenPtr+i);
|
||||||
|
}
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>> MEMORY RELEASE */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
retCode = tx_byte_release((void*)tokenPtr);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>> EVENT SET */
|
||||||
|
/*----------------------------------------------------------------*/
|
||||||
|
retCode = tx_event_flags_set(
|
||||||
|
&gEvents_E,
|
||||||
|
RS232_FR_EVENT,
|
||||||
|
TX_OR);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
Debug("DBL>> MESSAGE NOT READ -> SEND BACK TOKEN ",0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* MESSAGE RECEIVED */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
else if (*(ptr+2)>>3 == gDebugAddress)
|
||||||
|
{
|
||||||
|
statusByte = *(ptr+*(ptr+3)+4);
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
if((gDebugReceiveCrcError == 1) && /* pseudo error */
|
||||||
|
((*(ptr+2) && 0x03) == gDebugSapi))
|
||||||
|
{
|
||||||
|
*(ptr+*(ptr+3)+4) |= 0x02; /* set RD bit */
|
||||||
|
*(ptr+*(ptr+3)+4) &= 0xFE; /* clear ACK bit */
|
||||||
|
Debug("DBL>> PSEUDO ACK ERROR ",0);
|
||||||
|
}
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
else if((*(ptr+2) && 0x03) == gDebugSapi) /* control is OK */
|
||||||
|
{
|
||||||
|
checksum = 0;
|
||||||
|
for(i=0;i<*(ptr+3)+3;i++) /* calculate checksum */
|
||||||
|
checksum += *(ptr+i+1);
|
||||||
|
checksum = checksum << 2;
|
||||||
|
if(checksum == (statusByte & 0xFC))
|
||||||
|
{
|
||||||
|
*(ptr+*(ptr+3)+4) = statusByte | 0x03; /* RD = 1, ACK = 1 */
|
||||||
|
Debug("DBL>> ACK OK ",0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*(ptr+*(ptr+3)+4) = statusByte | 0x02; /* RD = 1, ACK = 0 */
|
||||||
|
Debug("DBL>> ACK ERROR ",0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
else /* bad SAPI */
|
||||||
|
{
|
||||||
|
Debug("DBL>> BAD SAPI ",0);
|
||||||
|
}
|
||||||
|
for(i=0;i<*(ptr+3)+6;i++)
|
||||||
|
{
|
||||||
|
gInBuffer[i] = *(ptr+i);
|
||||||
|
}
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>>>> MEMORY RELEASE */
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
retCode = tx_byte_release((void*)ptr);
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>>>> EVENT SET */
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
retCode = tx_event_flags_set(
|
||||||
|
&gEvents_E,
|
||||||
|
RS232_FR_EVENT,
|
||||||
|
TX_OR);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
}
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
/* ANOTHER FRAME */
|
||||||
|
/*----------------------------------------------------------------------*/
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for(i=0;i<*(ptr+3)+6;i++) /* copy frame */
|
||||||
|
{
|
||||||
|
gInBuffer[i] = *(ptr+i);
|
||||||
|
}
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>>>> MEMORY RELEASE */
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
retCode = tx_byte_release((void*)ptr);
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
/* TX_CALL >>>>>>>>>>>>>>> EVENT SET */
|
||||||
|
/*--------------------------------------------------------------------*/
|
||||||
|
retCode = tx_event_flags_set(
|
||||||
|
&gEvents_E,
|
||||||
|
RS232_FR_EVENT,
|
||||||
|
TX_OR);
|
||||||
|
CheckRetCodeDebug(retCode,__LINE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
89
gfxconf.h
Normal file
89
gfxconf.h
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
#ifndef _GFXCONF_H
|
||||||
|
#define _GFXCONF_H
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GOS //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_OS_UNKNOWN TRUE
|
||||||
|
#define GFX_OS_HEAP_SIZE 0
|
||||||
|
|
||||||
|
#define GFX_COMPILER GFX_COMPILER_KEIL
|
||||||
|
#define GFX_CPU GFX_CPU_CORTEX_M7_FP
|
||||||
|
#define GFX_CPU_ENDIAN GFX_CPU_ENDIAN_UNKNOWN
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GDISP //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_GDISP TRUE
|
||||||
|
|
||||||
|
#define GDISP_NEED_MULTITHREAD TRUE
|
||||||
|
#define GDISP_NEED_CONTROL TRUE
|
||||||
|
#define GDISP_NEED_STARTUP_LOGO FALSE
|
||||||
|
#define GDISP_STARTUP_COLOR HTML2COLOR(0x000000)
|
||||||
|
#define GDISP_DEFAULT_ORIENTATION GDISP_ROTATE_0
|
||||||
|
|
||||||
|
#define GDISP_NEED_TEXT TRUE
|
||||||
|
#define GDISP_NEED_TEXT_WORDWRAP TRUE
|
||||||
|
#define GDISP_INCLUDE_USER_FONTS TRUE
|
||||||
|
|
||||||
|
#define GDISP_NEED_IMAGE TRUE
|
||||||
|
#define GDISP_NEED_IMAGE_BMP TRUE
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GWIN //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_GWIN TRUE
|
||||||
|
|
||||||
|
#define GWIN_NEED_WINDOWMANAGER TRUE
|
||||||
|
|
||||||
|
#define GWIN_NEED_WIDGET TRUE
|
||||||
|
#define GWIN_NEED_CHECKBOX TRUE
|
||||||
|
#define GWIN_NEED_IMAGE TRUE
|
||||||
|
#define GWIN_NEED_LABEL TRUE
|
||||||
|
#define GWIN_NEED_BUTTON TRUE
|
||||||
|
#define GWIN_WIDGET_TAGS TRUE
|
||||||
|
|
||||||
|
#define GWIN_NEED_CONTAINERS TRUE
|
||||||
|
#define GWIN_NEED_CONTAINER TRUE
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GEVENT //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_GEVENT TRUE
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GTIMER //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_GTIMER TRUE
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GQUEUE //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_GQUEUE TRUE
|
||||||
|
|
||||||
|
#define GQUEUE_NEED_ASYNC TRUE
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GINPUT //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_GINPUT TRUE
|
||||||
|
|
||||||
|
#define GINPUT_NEED_MOUSE TRUE
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// GFILE //
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
#define GFX_USE_GFILE TRUE
|
||||||
|
|
||||||
|
#define GFILE_NEED_ROMFS TRUE
|
||||||
|
#define GFILE_MAX_GFILES 50
|
||||||
|
|
||||||
|
#endif // _GFXCONF_H
|
138
gui.h
Normal file
138
gui.h
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
#ifndef _GUI_H
|
||||||
|
#define _GUI_H
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "gfx.h"
|
||||||
|
|
||||||
|
typedef enum guiPage {
|
||||||
|
STARTUP,
|
||||||
|
MAINDISPLAY,
|
||||||
|
CONFIGDISPLAY,
|
||||||
|
ADDRESSSELECTDISPLAY,
|
||||||
|
} guiPage;
|
||||||
|
|
||||||
|
// Widget tags
|
||||||
|
#define GHPAGECONTAINERSTARTUP_TAG 0
|
||||||
|
#define GHPAGECONTAINERMAINDISPLAY_TAG 0
|
||||||
|
#define GHPAGECONTAINERCONFIGDISPLAY_TAG 0
|
||||||
|
#define GHPAGECONTAINERADDRESSSELECTDISPLAY_TAG 0
|
||||||
|
#define GHLABEL_1_TAG 0
|
||||||
|
#define GHLABEL_TAG 0
|
||||||
|
#define BTNTOKEN_TAG 0
|
||||||
|
#define BTNSTART_TAG 0
|
||||||
|
#define GHIMAGEBOX_TAG 0
|
||||||
|
#define GHLABEL_4_TAG 0
|
||||||
|
#define GHLABEL_2_TAG 0
|
||||||
|
#define GHLABEL_3_TAG 0
|
||||||
|
#define BTNDESTINATION_TAG 0
|
||||||
|
#define BTNCONFIGURATION_TAG 0
|
||||||
|
#define LBLTIME_TAG 0
|
||||||
|
#define LBLLIST_TAG 0
|
||||||
|
#define BTNSENDTOKEN_TAG 0
|
||||||
|
#define CBBROADCASTTIME_TAG 0
|
||||||
|
#define BTNSENDDEBUG_TAG 0
|
||||||
|
#define GHLABEL_5_TAG 0
|
||||||
|
#define GHLABEL_8_TAG 0
|
||||||
|
#define GHLABEL_7_TAG 0
|
||||||
|
#define GHLABEL_6_TAG 0
|
||||||
|
#define CBCONNECTOED_TAG 0
|
||||||
|
#define CBDEBUGCONNECTED_TAG 0
|
||||||
|
#define CBRECCRCERROR_TAG 0
|
||||||
|
#define CBSENDCRCERROR_TAG 0
|
||||||
|
#define LBLADDRESS_TAG 0
|
||||||
|
#define LBLDEBUG_TAG 0
|
||||||
|
#define BTNSAPIMINUS_TAG 0
|
||||||
|
#define BTNADDRESSMINUS_TAG 0
|
||||||
|
#define LBLSAPI_TAG 0
|
||||||
|
#define LBLADDR_TAG 0
|
||||||
|
#define BTNSAPIPLUS_TAG 0
|
||||||
|
#define BTNADDRESSPLUS_TAG 0
|
||||||
|
#define BTNBACK_TAG 0
|
||||||
|
#define GHLABEL_11_TAG 0
|
||||||
|
#define GHRADIOBUTTON_TAG 0
|
||||||
|
#define GHRADIOBUTTON_1_TAG 1
|
||||||
|
#define GHRADIOBUTTON_2_TAG 2
|
||||||
|
#define GHRADIOBUTTON_3_TAG 3
|
||||||
|
#define GHRADIOBUTTON_4_TAG 4
|
||||||
|
#define GHRADIOBUTTON_5_TAG 5
|
||||||
|
#define GHRADIOBUTTON_6_TAG 6
|
||||||
|
#define GHRADIOBUTTON_7_TAG 7
|
||||||
|
#define GHRADIOBUTTON_8_TAG 8
|
||||||
|
#define GHRADIOBUTTON_9_TAG 9
|
||||||
|
#define GHRADIOBUTTON_10_TAG 10
|
||||||
|
#define GHRADIOBUTTON_11_TAG 11
|
||||||
|
#define GHRADIOBUTTON_12_TAG 12
|
||||||
|
#define GHRADIOBUTTON_13_TAG 13
|
||||||
|
#define GHRADIOBUTTON_14_TAG 14
|
||||||
|
#define GHRADIOBUTTON_15_TAG 15
|
||||||
|
#define BTNSELECT_TAG 0
|
||||||
|
|
||||||
|
// Widget handles
|
||||||
|
extern GHandle ghPageContainerStartup;
|
||||||
|
extern GHandle ghPageContainerMainDisplay;
|
||||||
|
extern GHandle ghPageContainerConfigDisplay;
|
||||||
|
extern GHandle ghPageContainerAddressSelectDisplay;
|
||||||
|
extern GHandle ghLabel_1;
|
||||||
|
extern GHandle ghLabel;
|
||||||
|
extern GHandle btnToken;
|
||||||
|
extern GHandle btnStart;
|
||||||
|
extern GHandle ghImagebox;
|
||||||
|
extern GHandle ghLabel_4;
|
||||||
|
extern GHandle ghLabel_2;
|
||||||
|
extern GHandle ghLabel_3;
|
||||||
|
extern GHandle btnDestination;
|
||||||
|
extern GHandle btnConfiguration;
|
||||||
|
extern GHandle lblTime;
|
||||||
|
extern GHandle cnslSend;
|
||||||
|
extern GHandle cnslReceive;
|
||||||
|
extern GHandle lblList;
|
||||||
|
extern GHandle btnSendToken;
|
||||||
|
extern GHandle cbBroadcastTime;
|
||||||
|
extern GHandle btnSendDebug;
|
||||||
|
extern GHandle ghLabel_5;
|
||||||
|
extern GHandle ghLabel_8;
|
||||||
|
extern GHandle ghLabel_7;
|
||||||
|
extern GHandle ghLabel_6;
|
||||||
|
extern GHandle cbConnectoed;
|
||||||
|
extern GHandle cbDebugConnected;
|
||||||
|
extern GHandle cbRecCRCError;
|
||||||
|
extern GHandle cbSendCRCError;
|
||||||
|
extern GHandle lblAddress;
|
||||||
|
extern GHandle lblDebug;
|
||||||
|
extern GHandle btnSAPIMinus;
|
||||||
|
extern GHandle btnADDRESSMinus;
|
||||||
|
extern GHandle lblSAPI;
|
||||||
|
extern GHandle lblADDR;
|
||||||
|
extern GHandle btnSAPIPlus;
|
||||||
|
extern GHandle btnADDRESSPlus;
|
||||||
|
extern GHandle btnBack;
|
||||||
|
extern GHandle ghLabel_11;
|
||||||
|
extern GHandle ghRadiobutton;
|
||||||
|
extern GHandle ghRadiobutton_1;
|
||||||
|
extern GHandle ghRadiobutton_2;
|
||||||
|
extern GHandle ghRadiobutton_3;
|
||||||
|
extern GHandle ghRadiobutton_4;
|
||||||
|
extern GHandle ghRadiobutton_5;
|
||||||
|
extern GHandle ghRadiobutton_6;
|
||||||
|
extern GHandle ghRadiobutton_7;
|
||||||
|
extern GHandle ghRadiobutton_8;
|
||||||
|
extern GHandle ghRadiobutton_9;
|
||||||
|
extern GHandle ghRadiobutton_10;
|
||||||
|
extern GHandle ghRadiobutton_11;
|
||||||
|
extern GHandle ghRadiobutton_12;
|
||||||
|
extern GHandle ghRadiobutton_13;
|
||||||
|
extern GHandle ghRadiobutton_14;
|
||||||
|
extern GHandle ghRadiobutton_15;
|
||||||
|
extern GHandle btnSelect;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bool_t guiInit(void);
|
||||||
|
void guiShowPage(guiPage page);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // _GUI_H
|
157
i2c.c
Normal file
157
i2c.c
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* File Name : I2C.c
|
||||||
|
* Description : This file provides code for the configuration
|
||||||
|
* of the I2C instances.
|
||||||
|
******************************************************************************
|
||||||
|
** This notice applies to any and all portions of this file
|
||||||
|
* that are not between comment pairs USER CODE BEGIN and
|
||||||
|
* USER CODE END. Other portions of this file, whether
|
||||||
|
* inserted by the user or by software development tools
|
||||||
|
* are owned by their respective copyright owners.
|
||||||
|
*
|
||||||
|
* COPYRIGHT(c) 2018 STMicroelectronics
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include "i2c.h"
|
||||||
|
|
||||||
|
|
||||||
|
/* USER CODE BEGIN 0 */
|
||||||
|
|
||||||
|
/* USER CODE END 0 */
|
||||||
|
|
||||||
|
I2C_HandleTypeDef hi2c3;
|
||||||
|
|
||||||
|
/* I2C3 init function */
|
||||||
|
void MX_I2C3_Init(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
hi2c3.Instance = I2C3;
|
||||||
|
hi2c3.Init.Timing = 0x00501E63;
|
||||||
|
hi2c3.Init.OwnAddress1 = 0;
|
||||||
|
hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
|
||||||
|
hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
|
||||||
|
hi2c3.Init.OwnAddress2 = 0;
|
||||||
|
hi2c3.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
|
||||||
|
hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
|
||||||
|
hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
|
||||||
|
if (HAL_I2C_Init(&hi2c3) != HAL_OK)
|
||||||
|
{
|
||||||
|
for(;;){}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**Configure Analogue filter
|
||||||
|
*/
|
||||||
|
if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_DISABLE) != HAL_OK)
|
||||||
|
{
|
||||||
|
for(;;){}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**Configure Digital filter
|
||||||
|
*/
|
||||||
|
if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK)
|
||||||
|
{
|
||||||
|
for(;;){}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle)
|
||||||
|
{
|
||||||
|
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct;
|
||||||
|
if(i2cHandle->Instance==I2C3)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN I2C3_MspInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END I2C3_MspInit 0 */
|
||||||
|
|
||||||
|
/**I2C3 GPIO Configuration
|
||||||
|
PC9 ------> I2C3_SDA
|
||||||
|
PA8 ------> I2C3_SCL
|
||||||
|
*/
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_9;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF4_I2C3;
|
||||||
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_8;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF4_I2C3;
|
||||||
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
/* I2C3 clock enable */
|
||||||
|
__HAL_RCC_I2C3_CLK_ENABLE();
|
||||||
|
/* USER CODE BEGIN I2C3_MspInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END I2C3_MspInit 1 */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HAL_I2C_MspDeInit(I2C_HandleTypeDef* i2cHandle)
|
||||||
|
{
|
||||||
|
|
||||||
|
if(i2cHandle->Instance==I2C3)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN I2C3_MspDeInit 0 */
|
||||||
|
|
||||||
|
/* USER CODE END I2C3_MspDeInit 0 */
|
||||||
|
/* Peripheral clock disable */
|
||||||
|
__HAL_RCC_I2C3_CLK_DISABLE();
|
||||||
|
|
||||||
|
/**I2C3 GPIO Configuration
|
||||||
|
PC9 ------> I2C3_SDA
|
||||||
|
PA8 ------> I2C3_SCL
|
||||||
|
*/
|
||||||
|
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_9);
|
||||||
|
|
||||||
|
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_8);
|
||||||
|
|
||||||
|
/* USER CODE BEGIN I2C3_MspDeInit 1 */
|
||||||
|
|
||||||
|
/* USER CODE END I2C3_MspDeInit 1 */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* USER CODE BEGIN 1 */
|
||||||
|
|
||||||
|
/* USER CODE END 1 */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
81
i2c.h
Normal file
81
i2c.h
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* File Name : I2C.h
|
||||||
|
* Description : This file provides code for the configuration
|
||||||
|
* of the I2C instances.
|
||||||
|
******************************************************************************
|
||||||
|
** This notice applies to any and all portions of this file
|
||||||
|
* that are not between comment pairs USER CODE BEGIN and
|
||||||
|
* USER CODE END. Other portions of this file, whether
|
||||||
|
* inserted by the user or by software development tools
|
||||||
|
* are owned by their respective copyright owners.
|
||||||
|
*
|
||||||
|
* COPYRIGHT(c) 2018 STMicroelectronics
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||||
|
#ifndef __i2c_H
|
||||||
|
#define __i2c_H
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
/* USER CODE BEGIN Includes */
|
||||||
|
|
||||||
|
/* USER CODE END Includes */
|
||||||
|
|
||||||
|
extern I2C_HandleTypeDef hi2c3;
|
||||||
|
|
||||||
|
/* USER CODE BEGIN Private defines */
|
||||||
|
|
||||||
|
/* USER CODE END Private defines */
|
||||||
|
|
||||||
|
extern void _Error_Handler(char *, int);
|
||||||
|
|
||||||
|
void MX_I2C3_Init(void);
|
||||||
|
|
||||||
|
/* USER CODE BEGIN Prototypes */
|
||||||
|
|
||||||
|
/* USER CODE END Prototypes */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /*__ i2c_H */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
382
lcd.c
Normal file
382
lcd.c
Normal file
@ -0,0 +1,382 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file touch.c
|
||||||
|
/// \brief LCD control thread
|
||||||
|
/// \author Pascal Sartoretti (pascal dot sartoretti at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
GListener gl;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD LCD
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void LCD(void *argument)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // message queue
|
||||||
|
GEvent* pe; // uGFX event
|
||||||
|
char tmpMsg[] = {0,0,0,0,0}; // to send chars
|
||||||
|
char * msgPtr; // any pointer of string
|
||||||
|
char tempStr[30]; // temp string usage
|
||||||
|
char smallStr[5];
|
||||||
|
osStatus_t retCode;
|
||||||
|
uint8_t i;
|
||||||
|
GHandle tmpHndl;
|
||||||
|
|
||||||
|
// const char escapeBlack[] = {0x1B,'0',0};
|
||||||
|
const char escapeRed[] = {0x1B,'1',0};
|
||||||
|
const char escapeGreen[] = {0x1B,'2',0};
|
||||||
|
const char escapeBold[] = {0x1B,'b',0};
|
||||||
|
const char escapeNoBold[] = {0x1B,'B',0};
|
||||||
|
const char escapeUnderline[] = {0x1B,'u',0};
|
||||||
|
const char escapeNoUnderline[] = {0x1B,'U',0};
|
||||||
|
const char escapeBlue[] = {0x1B,'4',0};
|
||||||
|
// const char escapeWhite[] = {0x1B,'7',0};
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Init the LCD and create Touch thread after
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
gfxInit(); // init LCD screen
|
||||||
|
gdispClear(White); // clear it
|
||||||
|
gwinSetDefaultFont(gdispOpenFont("DejaVuSans12_aa"));
|
||||||
|
gwinSetDefaultStyle(&WhiteWidgetStyle, FALSE);
|
||||||
|
guiInit(); // create interface
|
||||||
|
geventListenerInit(&gl); // init listener
|
||||||
|
gwinAttachListener(&gl); // listen to LCD touch events
|
||||||
|
guiShowPage(STARTUP); // first window
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// special setup inits (not made in ugfx-studio)
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
gwinSetColor(cnslSend,Black);
|
||||||
|
gwinSetBgColor(cnslSend,White);
|
||||||
|
gwinSetColor(cnslReceive,Black);
|
||||||
|
gwinSetBgColor(cnslReceive,White);
|
||||||
|
sprintf(tempStr,"%d",gTokenInterface.destinationAddress+1);
|
||||||
|
gwinSetText(btnDestination, tempStr, TRUE);
|
||||||
|
sprintf(tempStr,"%d",gTokenInterface.debugAddress+1);
|
||||||
|
gwinSetText(lblADDR, tempStr, TRUE);
|
||||||
|
sprintf(tempStr," %d",gTokenInterface.debugSAPI);
|
||||||
|
gwinSetText(lblSAPI, tempStr, TRUE);
|
||||||
|
sprintf(tempStr,"Local address is: %d",gTokenInterface.myAddress+1);
|
||||||
|
gwinSetText(lblAddress, tempStr, TRUE);
|
||||||
|
#if DEBUG_MODE == 0
|
||||||
|
sprintf(tempStr,"Debug mode is: OFF");
|
||||||
|
gwinSetText(lblDebug, tempStr, TRUE);
|
||||||
|
gwinDisable(cbDebugConnected);
|
||||||
|
gwinDisable(cbRecCRCError);
|
||||||
|
gwinDisable(cbSendCRCError);
|
||||||
|
gwinDisable(btnADDRESSMinus);
|
||||||
|
gwinDisable(btnADDRESSPlus);
|
||||||
|
gwinDisable(btnSAPIMinus);
|
||||||
|
gwinDisable(btnSAPIPlus);
|
||||||
|
gwinDisable(lblSAPI);
|
||||||
|
gwinDisable(lblADDR);
|
||||||
|
gwinDisable(btnSendDebug);
|
||||||
|
#else
|
||||||
|
sprintf(tempStr,"Debug mode is: ON");
|
||||||
|
gwinSetText(lblDebug, tempStr, TRUE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
for(;;) // loop until doomsday
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE READ
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueueGet(
|
||||||
|
queue_lcd_id,
|
||||||
|
&queueMsg,
|
||||||
|
NULL,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
switch(queueMsg.type) // check message
|
||||||
|
{
|
||||||
|
//**************************************************************************
|
||||||
|
case TOUCH_EVENT: // event from touchscreen
|
||||||
|
pe = queueMsg.anyPtr;
|
||||||
|
switch(pe->type)
|
||||||
|
{
|
||||||
|
//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||||
|
case GEVENT_GWIN_BUTTON: // button has been pressed
|
||||||
|
tmpHndl = ((GEventGWinButton*)pe)->gwin;
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if((tmpHndl == btnToken)|| // leave startup window
|
||||||
|
(tmpHndl == btnStart))
|
||||||
|
{
|
||||||
|
gTokenInterface.currentView = MAINDISPLAY;
|
||||||
|
guiShowPage(MAINDISPLAY);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == btnDestination) // enter address select window
|
||||||
|
{
|
||||||
|
gTokenInterface.currentView = ADDRESSSELECTDISPLAY;
|
||||||
|
guiShowPage(ADDRESSSELECTDISPLAY);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == btnConfiguration) // enter config window
|
||||||
|
{
|
||||||
|
gTokenInterface.currentView = CONFIGDISPLAY;
|
||||||
|
guiShowPage(CONFIGDISPLAY);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if((tmpHndl == btnBack)|| // leave config window
|
||||||
|
(tmpHndl == btnSendDebug))
|
||||||
|
{
|
||||||
|
gTokenInterface.currentView = MAINDISPLAY;
|
||||||
|
guiShowPage(MAINDISPLAY);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == btnSelect) // destination changed
|
||||||
|
{
|
||||||
|
if(gTokenInterface.destinationAddress != 15)
|
||||||
|
{
|
||||||
|
sprintf(tempStr,"%d",gTokenInterface.destinationAddress+1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprintf(tempStr,"All");
|
||||||
|
}
|
||||||
|
gwinSetText(btnDestination, tempStr, TRUE); // display it on widget
|
||||||
|
gTokenInterface.currentView = MAINDISPLAY;
|
||||||
|
guiShowPage(MAINDISPLAY);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == btnSAPIMinus) // SAPI changed
|
||||||
|
{
|
||||||
|
if(gTokenInterface.debugSAPI > 0)
|
||||||
|
{
|
||||||
|
gTokenInterface.debugSAPI--;
|
||||||
|
tmpMsg[0] = ' ';
|
||||||
|
tmpMsg[1] = gTokenInterface.debugSAPI + '0';
|
||||||
|
tmpMsg[2] = 0;
|
||||||
|
gwinSetText(lblSAPI, tmpMsg, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == btnSAPIPlus) // SAPI changed
|
||||||
|
{
|
||||||
|
if(gTokenInterface.debugSAPI < 7)
|
||||||
|
{
|
||||||
|
gTokenInterface.debugSAPI++;
|
||||||
|
tmpMsg[0] = ' ';
|
||||||
|
tmpMsg[1] = gTokenInterface.debugSAPI + '0';
|
||||||
|
tmpMsg[2] = 0;
|
||||||
|
gwinSetText(lblSAPI, tmpMsg, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == btnADDRESSMinus) // address changed
|
||||||
|
{
|
||||||
|
if(gTokenInterface.debugAddress > 0)
|
||||||
|
{
|
||||||
|
gTokenInterface.debugAddress--;
|
||||||
|
if(gTokenInterface.debugAddress == gTokenInterface.myAddress)
|
||||||
|
{
|
||||||
|
if(gTokenInterface.debugAddress > 0)
|
||||||
|
{
|
||||||
|
gTokenInterface.debugAddress--;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gTokenInterface.debugAddress++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(gTokenInterface.debugAddress > 8)
|
||||||
|
{
|
||||||
|
sprintf(tmpMsg,"%d",(int)gTokenInterface.debugAddress+1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprintf(tmpMsg," %d",(int)gTokenInterface.debugAddress+1);
|
||||||
|
}
|
||||||
|
gwinSetText(lblADDR, tmpMsg, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == btnADDRESSPlus) // address changed
|
||||||
|
{
|
||||||
|
if(gTokenInterface.debugAddress < 14)
|
||||||
|
{
|
||||||
|
gTokenInterface.debugAddress++;
|
||||||
|
if(gTokenInterface.debugAddress == gTokenInterface.myAddress)
|
||||||
|
{
|
||||||
|
if(gTokenInterface.debugAddress < 14)
|
||||||
|
{
|
||||||
|
gTokenInterface.debugAddress++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gTokenInterface.debugAddress--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(gTokenInterface.debugAddress > 8)
|
||||||
|
{
|
||||||
|
sprintf(tmpMsg,"%d",(int)gTokenInterface.debugAddress+1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprintf(tmpMsg," %d",(int)gTokenInterface.debugAddress+1);
|
||||||
|
}
|
||||||
|
gwinSetText(lblADDR, tmpMsg, TRUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||||
|
case GEVENT_GWIN_CHECKBOX: // checkbox has been pressed
|
||||||
|
tmpHndl = ((GEventGWinButton*)pe)->gwin;
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == cbConnectoed) // connection changed
|
||||||
|
{
|
||||||
|
gTokenInterface.connected = gwinCheckboxIsChecked(cbConnectoed);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == cbBroadcastTime) // broadcast time changed
|
||||||
|
{
|
||||||
|
gTokenInterface.broadcastTime = gwinCheckboxIsChecked(cbBroadcastTime);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == cbDebugConnected) // debug connected changed
|
||||||
|
{
|
||||||
|
gTokenInterface.debugOnline = gwinCheckboxIsChecked(cbDebugConnected);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == cbRecCRCError) // receive CRC error changed
|
||||||
|
{
|
||||||
|
gTokenInterface.needReceiveCRCError = gwinCheckboxIsChecked(cbRecCRCError);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if(tmpHndl == cbSendCRCError) // send CRC error changed
|
||||||
|
{
|
||||||
|
gTokenInterface.needSendCRCError = gwinCheckboxIsChecked(cbSendCRCError);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
//-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
|
||||||
|
case GEVENT_GWIN_RADIO: // radio button has been pressed
|
||||||
|
tmpHndl = ((GEventGWinButton*)pe)->gwin;
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
gTokenInterface.destinationAddress = gwinGetTag(tmpHndl);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
//**************************************************************************
|
||||||
|
case TIME_MSG: // needs to display the time
|
||||||
|
|
||||||
|
msgPtr = queueMsg.anyPtr;
|
||||||
|
sprintf(tempStr,"Time is: %s",msgPtr); // create string
|
||||||
|
gwinSetText(lblTime, tempStr, TRUE); // display it on widget
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY RELEASE (time frame from timeReceiver)
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMemoryPoolFree(memPool,msgPtr);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// set event flag to audio player
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osEventFlagsSet(eventFlag_id, AUDIO_CLOCK_EVT); // set flag
|
||||||
|
if(retCode < 0)
|
||||||
|
{
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
case CHAR_MSG: // a char has been pressed
|
||||||
|
msgPtr = queueMsg.anyPtr;
|
||||||
|
gwinPutString(cnslSend,msgPtr); // display char
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY RELEASE (character from chatSender)
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMemoryPoolFree(memPool,msgPtr);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
break;
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
case CHAT_MSG: // a message is incoming
|
||||||
|
if(gTokenInterface.currentView != MAINDISPLAY)
|
||||||
|
{
|
||||||
|
guiShowPage(MAINDISPLAY);
|
||||||
|
}
|
||||||
|
msgPtr = queueMsg.anyPtr;
|
||||||
|
sprintf(tempStr,"Msg from : %d\r\n",queueMsg.addr+1);
|
||||||
|
gwinPutString(cnslReceive,escapeBlue);
|
||||||
|
gwinPutString(cnslReceive,escapeUnderline);
|
||||||
|
gwinPutString(cnslReceive,tempStr);
|
||||||
|
gwinPutString(cnslReceive,escapeNoUnderline);
|
||||||
|
gwinPutString(cnslReceive,escapeGreen);
|
||||||
|
gwinPutString(cnslReceive,msgPtr);
|
||||||
|
gwinPutString(cnslReceive,"\r\n");
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY RELEASE (message from chatReceiver)
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMemoryPoolFree(memPool,msgPtr);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// set event flag to audio player
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osEventFlagsSet(eventFlag_id, AUDIO_MSG_EVT); // set flag
|
||||||
|
if(retCode < 0)
|
||||||
|
{
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
case MAC_ERROR: // a communication error occurs
|
||||||
|
if(gTokenInterface.currentView != MAINDISPLAY)
|
||||||
|
{
|
||||||
|
guiShowPage(MAINDISPLAY);
|
||||||
|
}
|
||||||
|
msgPtr = queueMsg.anyPtr;
|
||||||
|
gwinPutString(cnslReceive,escapeRed);
|
||||||
|
gwinPutString(cnslReceive,escapeBold);
|
||||||
|
gwinPutString(cnslReceive,msgPtr);
|
||||||
|
gwinPutString(cnslReceive,escapeNoBold);
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// MEMORY RELEASE (message from macSenderReceiver)
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMemoryPoolFree(memPool,msgPtr);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// set event flag to audio player
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osEventFlagsSet(eventFlag_id, AUDIO_ERROR_EVT); // set flag
|
||||||
|
if(retCode < 0)
|
||||||
|
{
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
case TOKEN_LIST: // token list update
|
||||||
|
|
||||||
|
sprintf(tempStr,"Online stations: "); // create string
|
||||||
|
for(i=0;i<15;i++)
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
// Not connected station
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
if((gTokenInterface.station_list[i] & (1 << CHAT_SAPI)) == 0)
|
||||||
|
{
|
||||||
|
// station not connected
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
// Any station number connected (CHAT_SAPI)
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprintf(smallStr,"%d, ",i+1);
|
||||||
|
strcat(tempStr,smallStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tempStr[strlen(tempStr)-2] = 0; // discare last ', '
|
||||||
|
gwinSetText(lblList, tempStr, TRUE); // display it on widget
|
||||||
|
break;
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
} // end of SWITCH
|
||||||
|
} // end of forever
|
||||||
|
}
|
||||||
|
|
||||||
|
|
5
mac_receiver.c
Normal file
5
mac_receiver.c
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
void MacReceiver(void *argument)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
5
mac_sender.c
Normal file
5
mac_sender.c
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
void MacSender(void *argument)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
412
main.c
Normal file
412
main.c
Normal file
@ -0,0 +1,412 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file main.c
|
||||||
|
/// \brief Tokenring intialisation
|
||||||
|
/// \author Pascal Sartoretti (pascal dot sartoretti at hevs dot ch)
|
||||||
|
/// \version 1.0 - original for RTX5
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "main.h" // tokenring constants
|
||||||
|
|
||||||
|
#include "ext_led.h"
|
||||||
|
#include "ext_uart.h"
|
||||||
|
#include "EventRecorder.h"
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// Global variable for system control
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
struct TOKENINTERFACE gTokenInterface;
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// Memory pool
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
osMemoryPoolId_t memPool;
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// Event flag
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
osEventFlagsId_t eventFlag_id;
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// Queues id and attributes
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
osMessageQueueId_t queue_macR_id;
|
||||||
|
osMessageQueueId_t queue_phyS_id;
|
||||||
|
osMessageQueueId_t queue_dbg_id;
|
||||||
|
osMessageQueueId_t queue_macS_id;
|
||||||
|
osMessageQueueId_t queue_chatR_id;
|
||||||
|
osMessageQueueId_t queue_chatS_id;
|
||||||
|
osMessageQueueId_t queue_timeR_id;
|
||||||
|
osMessageQueueId_t queue_timeS_id;
|
||||||
|
osMessageQueueId_t queue_lcd_id;
|
||||||
|
osMessageQueueId_t queue_keyboard_id;
|
||||||
|
osMessageQueueId_t queue_usartR_id;
|
||||||
|
|
||||||
|
const osMessageQueueAttr_t queue_macR_attr = {
|
||||||
|
.name = "MAC_RECEIVER"
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_macS_attr = {
|
||||||
|
.name = "MAC_SENDER"
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_phyS_attr = {
|
||||||
|
.name = "PH_SENDER "
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_dbg_attr = {
|
||||||
|
.name = "DEBUGGER "
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_chatR_attr = {
|
||||||
|
.name = "CHAT_REC "
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_timeR_attr = {
|
||||||
|
.name = "TIME_RECEIVE"
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_timeS_attr = {
|
||||||
|
.name = "TIME_SENDER "
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_chatS_attr = {
|
||||||
|
.name = "CHAT_SENDER "
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_lcd_attr = {
|
||||||
|
.name = "LCD MANAGER "
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_keyboard_attr = {
|
||||||
|
.name = "KEYBOARD "
|
||||||
|
};
|
||||||
|
const osMessageQueueAttr_t queue_usartR_attr = {
|
||||||
|
.name = "USART_RECEIV"
|
||||||
|
};
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// External threads id, functions and attributes
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
osThreadId_t phy_rec_id;
|
||||||
|
osThreadId_t phy_snd_id;
|
||||||
|
osThreadId_t mac_rec_id;
|
||||||
|
osThreadId_t mac_snd_id;
|
||||||
|
osThreadId_t time_rec_id;
|
||||||
|
osThreadId_t time_snd_id;
|
||||||
|
osThreadId_t chat_rec_id;
|
||||||
|
osThreadId_t chat_snd_id;
|
||||||
|
osThreadId_t debug_id;
|
||||||
|
osThreadId_t touch_id;
|
||||||
|
osThreadId_t lcd_id;
|
||||||
|
osThreadId_t audio_id;
|
||||||
|
|
||||||
|
extern void PhReceiver(void *argument);
|
||||||
|
extern void PhSender(void *argument);
|
||||||
|
extern void MacReceiver(void *argument);
|
||||||
|
extern void MacSender(void *argument);
|
||||||
|
extern void TimeReceiver(void *argument);
|
||||||
|
extern void TimeSender(void *argument);
|
||||||
|
extern void ChatReceiver(void *argument);
|
||||||
|
extern void ChatSender(void *argument);
|
||||||
|
extern void DebugStation(void *argument);
|
||||||
|
extern void Touch(void *argument);
|
||||||
|
extern void LCD(void *argument);
|
||||||
|
extern void AudioPlayer(void *argument);
|
||||||
|
|
||||||
|
const osThreadAttr_t audio_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityAboveNormal,
|
||||||
|
.name = "AUDIO"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t debug_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "DBG"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t phy_rec_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "PHY_R"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t phy_snd_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "PH_S"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t mac_rec_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "MAC_R"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t mac_snd_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "MAC_S"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t time_rec_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "TIME_RECEIVER"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t time_snd_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "TIME_SENDER"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t chat_rec_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "CHAT_RECEIVER"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t chat_snd_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "CHAT_SENDER"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t touch_attr = {
|
||||||
|
.stack_size = 512,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "TOUCH"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t lcd_attr = {
|
||||||
|
.stack_size = 4096,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "LCD"
|
||||||
|
};
|
||||||
|
|
||||||
|
const osThreadAttr_t tester_attr = {
|
||||||
|
.stack_size = 256,
|
||||||
|
.priority = osPriorityNormal,
|
||||||
|
.name = "TESTER"
|
||||||
|
};
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Display a frame of type PHY
|
||||||
|
/// \param stringP pointer to physical frame to display
|
||||||
|
/// It is used by PHY_SENDER and PHY_RECEIVER
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void DebugFrame(char * stringP)
|
||||||
|
{
|
||||||
|
uint8_t temp; // used for temp calculation
|
||||||
|
uint8_t byte; // used for temp byte memory
|
||||||
|
uint8_t table[16] = {'0','1','2','3',
|
||||||
|
'4','5','6','7',
|
||||||
|
'8','9','A','B',
|
||||||
|
'C','D','E','F'};
|
||||||
|
uint32_t size; // get size of frame
|
||||||
|
uint32_t i; // temporary counter
|
||||||
|
|
||||||
|
|
||||||
|
if ((uint8_t)stringP[1] == TOKEN_TAG) // is it a TOKEN frame
|
||||||
|
{
|
||||||
|
size = TOKENSIZE; // size is TOKENSIZE
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
size = stringP[3] + 6; // calculate size of frame
|
||||||
|
}
|
||||||
|
i = 0;
|
||||||
|
putchar('['); // display an open bracket
|
||||||
|
for(i=0;i<size;i++)
|
||||||
|
{
|
||||||
|
byte = stringP[i]; // get byte from frame
|
||||||
|
temp = (byte & 0xF0) >> 4;
|
||||||
|
putchar(table[temp]); // display 2 hex digits
|
||||||
|
temp = (byte & 0x0F);
|
||||||
|
putchar(table[temp]);
|
||||||
|
putchar(' '); // insert a space
|
||||||
|
}
|
||||||
|
putchar(']'); // display a closed bracket
|
||||||
|
putchar(0x0D); // with a <CR>
|
||||||
|
putchar(0x0A); // with a <CR>
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Display a frame of type MAC to the PC serial port for debug
|
||||||
|
/// \param preChar the char to write before the message
|
||||||
|
/// \param strinP pointer to the message of type MAC !!!
|
||||||
|
/// It is used by PHY_SENDER and DEBUG
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void DebugMacFrame(uint8_t preChar,uint8_t * stringP)
|
||||||
|
{
|
||||||
|
uint8_t temp; // used for temp calculation
|
||||||
|
uint8_t byte; // used for temp byte memory
|
||||||
|
uint8_t table[16] = {'0','1','2','3',
|
||||||
|
'4','5','6','7',
|
||||||
|
'8','9','A','B',
|
||||||
|
'C','D','E','F'};
|
||||||
|
uint32_t size; // get size of frame
|
||||||
|
uint32_t i; // temporary counter
|
||||||
|
|
||||||
|
if (stringP[0] == TOKEN_TAG) // is it a TOKEN frame
|
||||||
|
{
|
||||||
|
size = TOKENSIZE - 2; //size is TOKENSIZE
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
size = stringP[2] + 4; // calculate size of frame
|
||||||
|
}
|
||||||
|
i = 0;
|
||||||
|
putchar(preChar);
|
||||||
|
putchar('-');
|
||||||
|
putchar('['); // display an open bracket
|
||||||
|
for(i=0;i<size;i++)
|
||||||
|
{
|
||||||
|
byte = stringP[i]; // get byte from frame
|
||||||
|
temp = (byte & 0xF0) >> 4;
|
||||||
|
putchar(table[temp]); // display 2 hex digits
|
||||||
|
temp = (byte & 0x0F);
|
||||||
|
putchar(table[temp]);
|
||||||
|
putchar(' '); // insert a space
|
||||||
|
}
|
||||||
|
putchar(']'); // display a closed bracket
|
||||||
|
putchar('\r'); // with a <CR>
|
||||||
|
putchar('\n'); // and a <LF> to flush buffer
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Check OS call return codes and display error if any
|
||||||
|
/// \param retCode return code to control
|
||||||
|
/// \param lineNumber the line number where was the error
|
||||||
|
/// \param fileName the filename where is the error
|
||||||
|
/// \param mode If not 0 (CONTINUE), the program stays in this function
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void CheckRetCode(uint32_t retCode,uint32_t lineNumber,char * fileName,uint8_t mode)
|
||||||
|
{
|
||||||
|
if(retCode != osOK) // if an error occur
|
||||||
|
{
|
||||||
|
printf("At line : %d\r\n",lineNumber); // display line error
|
||||||
|
printf("On file : %s \r\n",fileName);
|
||||||
|
printf("Error : %d\r\n",retCode); // displays error number
|
||||||
|
if (mode != CONTINUE) // if mode is not CONTINUE (0)
|
||||||
|
{
|
||||||
|
while(1){} // stays here forever
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Configure the clock @ 216MHz and peripheral clocks
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
static void SystemClock_Config (void) {
|
||||||
|
RCC_ClkInitTypeDef RCC_ClkInitStruct;
|
||||||
|
RCC_OscInitTypeDef RCC_OscInitStruct;
|
||||||
|
RCC_PeriphCLKInitTypeDef RCC_ExCLKInitStruct;
|
||||||
|
|
||||||
|
/* Enable HSE Oscillator and activate PLL with HSE as source */
|
||||||
|
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
|
||||||
|
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
||||||
|
RCC_OscInitStruct.HSIState = RCC_HSI_OFF;
|
||||||
|
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||||
|
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
||||||
|
RCC_OscInitStruct.PLL.PLLM = 25;
|
||||||
|
RCC_OscInitStruct.PLL.PLLN = 432;
|
||||||
|
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
||||||
|
RCC_OscInitStruct.PLL.PLLQ = 9;
|
||||||
|
HAL_RCC_OscConfig(&RCC_OscInitStruct);
|
||||||
|
|
||||||
|
/* Activate the OverDrive to reach the 216 MHz Frequency */
|
||||||
|
HAL_PWREx_EnableOverDrive();
|
||||||
|
|
||||||
|
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 clocks dividers */
|
||||||
|
RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2);
|
||||||
|
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
||||||
|
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
||||||
|
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
|
||||||
|
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
|
||||||
|
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_7);
|
||||||
|
|
||||||
|
HAL_RCCEx_GetPeriphCLKConfig(&RCC_ExCLKInitStruct);
|
||||||
|
RCC_ExCLKInitStruct.PeriphClockSelection = RCC_PERIPHCLK_SAI2;
|
||||||
|
RCC_ExCLKInitStruct.Sai2ClockSelection = RCC_SAI2CLKSOURCE_PLLI2S;
|
||||||
|
RCC_ExCLKInitStruct.PLLI2S.PLLI2SP = 8;
|
||||||
|
RCC_ExCLKInitStruct.PLLI2S.PLLI2SN = 344;
|
||||||
|
RCC_ExCLKInitStruct.PLLI2S.PLLI2SQ = 7;
|
||||||
|
RCC_ExCLKInitStruct.PLLI2SDivQ = 1;
|
||||||
|
HAL_RCCEx_PeriphCLKConfig(&RCC_ExCLKInitStruct);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Used by HAL for delays (have to return system ticks)
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
uint32_t HAL_GetTick(void)
|
||||||
|
{
|
||||||
|
return osKernelGetTickCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Init all and start RTX5
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
SystemClock_Config();
|
||||||
|
|
||||||
|
EventRecorderInitialize(EventRecordAll,0);
|
||||||
|
EventRecorderDisable(EventRecordAPI, 0xF1, 0xF1); // remove Kernel messages
|
||||||
|
EventRecorderDisable(EventRecordAll, 0xF4, 0xF4); // remove EventFlag messages
|
||||||
|
EventRecorderStart();
|
||||||
|
|
||||||
|
osKernelInitialize();
|
||||||
|
|
||||||
|
Ext_LED_Init();
|
||||||
|
Ext_UART_Init(9600); // Initialize UART @ 9600 bauds
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Default configuration station
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
gTokenInterface.myAddress = MYADDRESS; // constant from main.h
|
||||||
|
gTokenInterface.connected = TRUE; // default is station connected
|
||||||
|
Ext_LED_PWM(8,100); // display connected
|
||||||
|
gTokenInterface.debugAddress = 9; // default values
|
||||||
|
gTokenInterface.debugSAPI = 1;
|
||||||
|
gTokenInterface.debugOnline = TRUE;
|
||||||
|
gTokenInterface.destinationAddress = 1;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Create memory pool
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
memPool = osMemoryPoolNew(8,MAX_BLOCK_SIZE,NULL);
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Create event flag
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
eventFlag_id = osEventFlagsNew(NULL);
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Create queues
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
queue_macR_id = osMessageQueueNew(2,sizeof(struct queueMsg_t),&queue_macR_attr);
|
||||||
|
queue_phyS_id = osMessageQueueNew(2,sizeof(struct queueMsg_t),&queue_phyS_attr);
|
||||||
|
queue_macS_id = osMessageQueueNew(2,sizeof(struct queueMsg_t),&queue_macS_attr);
|
||||||
|
queue_dbg_id = osMessageQueueNew(2,sizeof(struct queueMsg_t),&queue_dbg_attr);
|
||||||
|
queue_chatR_id = osMessageQueueNew(2,sizeof(struct queueMsg_t),&queue_chatR_attr);
|
||||||
|
queue_chatS_id = osMessageQueueNew(2,sizeof(struct queueMsg_t),&queue_chatS_attr);
|
||||||
|
queue_timeR_id = osMessageQueueNew(2,sizeof(struct queueMsg_t),&queue_timeR_attr);
|
||||||
|
queue_timeS_id = osMessageQueueNew(2,sizeof(struct queueMsg_t),&queue_timeS_attr);
|
||||||
|
queue_lcd_id = osMessageQueueNew(4,sizeof(struct queueMsg_t),&queue_lcd_attr);
|
||||||
|
queue_keyboard_id = osMessageQueueNew(4,sizeof(struct queueMsg_t),&queue_keyboard_attr);
|
||||||
|
queue_usartR_id = osMessageQueueNew(4,sizeof(struct queueMsg_t),&queue_usartR_attr);
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Create Threads
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// audio_id = osThreadNew(AudioPlayer, NULL, &audio_attr);
|
||||||
|
debug_id = osThreadNew(DebugStation, NULL, &debug_attr);
|
||||||
|
phy_rec_id = osThreadNew(PhReceiver, NULL, &phy_rec_attr);
|
||||||
|
phy_snd_id = osThreadNew(PhSender, NULL, &phy_snd_attr);
|
||||||
|
mac_rec_id = osThreadNew(MacReceiver, NULL, &mac_rec_attr);
|
||||||
|
mac_snd_id = osThreadNew(MacSender, NULL, &mac_snd_attr);
|
||||||
|
time_rec_id = osThreadNew(TimeReceiver, NULL, &time_rec_attr);
|
||||||
|
time_snd_id = osThreadNew(TimeSender, NULL, &time_snd_attr);
|
||||||
|
chat_rec_id = osThreadNew(ChatReceiver, NULL, &chat_rec_attr);
|
||||||
|
chat_snd_id = osThreadNew(ChatSender, NULL, &chat_snd_attr);
|
||||||
|
touch_id = osThreadNew(Touch, NULL, &touch_attr);
|
||||||
|
lcd_id = osThreadNew(LCD, NULL, &lcd_attr);
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Start kernel and never returns
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
osKernelStart();
|
||||||
|
}
|
||||||
|
|
119
main.h
Normal file
119
main.h
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file main.h
|
||||||
|
/// \brief Tokenring definitions
|
||||||
|
/// \author Pascal Sartoretti (pascal dot sartoretti at hevs dot ch)
|
||||||
|
/// \version 1.0 - original for RTX5
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include "gfx.h"
|
||||||
|
#include "gui.h"
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// Constants to change the system behavior
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
#define DEBUG_MODE 1 // mode is physical line (0) or debug (1)
|
||||||
|
#define MYADDRESS 3 // your address choice (table number)
|
||||||
|
#define MAX_BLOCK_SIZE 100 // size max for a frame
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// Constants to NOT change for the system working
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
#define CHAT_SAPI 0x01 // sapi chat application number (0-7)
|
||||||
|
#define TIME_SAPI 0x03 // sapi time application number (0-7)
|
||||||
|
#define BROADCAST_ADDRESS 0x0F // broadcast address
|
||||||
|
#define TOKEN_TAG 0xFF // tag of tokenring frame
|
||||||
|
#define TOKENSIZE 19 // size of a token frame
|
||||||
|
#define STX 0x02 // any frame start char
|
||||||
|
#define ETX 0x03 // any frame end char
|
||||||
|
#define CONTINUE 0x0 // for check return code halt
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// identifiers used in more the one file (thread)
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
extern GListener gl;
|
||||||
|
extern osMemoryPoolId_t memPool;
|
||||||
|
extern osThreadId_t phy_rec_id;
|
||||||
|
extern osMessageQueueId_t queue_macR_id;
|
||||||
|
extern osMessageQueueId_t queue_phyS_id;
|
||||||
|
extern osMessageQueueId_t queue_dbg_id;
|
||||||
|
extern osMessageQueueId_t queue_macS_id;
|
||||||
|
extern osMessageQueueId_t queue_chatR_id;
|
||||||
|
extern osMessageQueueId_t queue_timeR_id;
|
||||||
|
extern osMessageQueueId_t queue_lcd_id;
|
||||||
|
extern osMessageQueueId_t queue_timeS_id;
|
||||||
|
extern osMessageQueueId_t queue_chatS_id;
|
||||||
|
extern osMessageQueueId_t queue_keyboard_id;
|
||||||
|
extern osMessageQueueId_t queue_usartR_id;
|
||||||
|
extern osEventFlagsId_t eventFlag_id;
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// functions used in more than one file
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
void CheckRetCode(uint32_t retCode,uint32_t lineNumber,char * fileName,uint8_t mode);
|
||||||
|
void DebugFrame(char * stringP);
|
||||||
|
void DebugMacFrame(uint8_t preChar,uint8_t * stringP);
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// structure for system usage
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
struct TOKENINTERFACE
|
||||||
|
{
|
||||||
|
uint8_t myAddress; ///< my current address
|
||||||
|
uint8_t currentView; ///< the current view on LCD
|
||||||
|
bool_t debugOnline; ///< is debug station ON
|
||||||
|
bool_t connected; ///< are we connected
|
||||||
|
bool_t broadcastTime; ///< is broadcast time active
|
||||||
|
bool_t needReceiveCRCError; ///< debug has to receive error
|
||||||
|
bool_t needSendCRCError; ///< debug has to send error
|
||||||
|
uint32_t debugSAPI; ///< current debug SAPI
|
||||||
|
uint32_t debugAddress; ///< current debug address
|
||||||
|
bool_t debugMsgToSend; ///< did debug have to send a message
|
||||||
|
uint32_t destinationAddress; ///< current destination address
|
||||||
|
uint8_t station_list[15]; ///< 0 to 15
|
||||||
|
};
|
||||||
|
extern struct TOKENINTERFACE gTokenInterface;
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// Events usage
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
#define RS232_TX_EVENT 0x0001 // ready for next byte to send
|
||||||
|
#define BROADCAST_TIME_EVT 0x0002 // time to send or not
|
||||||
|
#define AUDIO_MSG_EVT 0x0020 // audio message to play
|
||||||
|
#define AUDIO_ERROR_EVT 0x0040 // audio error to play
|
||||||
|
#define AUDIO_CLOCK_EVT 0x0080 // audio clock to play
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// Types of messages transmitted in the queues
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
enum msgType_e
|
||||||
|
{
|
||||||
|
TOUCH_EVENT, ///< touch has been pressed
|
||||||
|
NEW_TOKEN, ///< a new token is requested
|
||||||
|
START, ///< a start is requested (connected)
|
||||||
|
STOP, ///< a stop is requested (disconnected)
|
||||||
|
TOKEN_LIST, ///< token list sent to LCD
|
||||||
|
MAC_ERROR, ///< error message to LCD
|
||||||
|
TOKEN, ///< a token message
|
||||||
|
DATA_IND, ///< a data sent between mac and app layers
|
||||||
|
DATABACK, ///< a message is coming back
|
||||||
|
TIME_MSG, ///< a time message is sent to LCD
|
||||||
|
CHAR_MSG, ///< a single char is sent to the LCD
|
||||||
|
CHAT_MSG, ///< a chat message is sent to the LCD
|
||||||
|
FROM_PHY, ///< a message arriving from physical layer
|
||||||
|
TO_PHY ///< a message sent to physical layer
|
||||||
|
};
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
// The queue message structure
|
||||||
|
//--------------------------------------------------------------------------------
|
||||||
|
struct queueMsg_t
|
||||||
|
{
|
||||||
|
enum msgType_e type; ///< the type of message
|
||||||
|
void * anyPtr; ///< the pointer to message (if any)
|
||||||
|
uint8_t addr; ///< the source or destination address
|
||||||
|
uint8_t sapi; ///< the source or destination SAPI
|
||||||
|
};
|
178
phy_receiver.c
Normal file
178
phy_receiver.c
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file phy_receiver.c
|
||||||
|
/// \brief Physical receiver thread
|
||||||
|
/// \author Pascal Sartoretti (sap at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "main.h"
|
||||||
|
#include "ext_uart.h"
|
||||||
|
#include "ext_led.h"
|
||||||
|
|
||||||
|
uint8_t gInBuffer[256]; // generic byte receive buffer
|
||||||
|
uint8_t recByte;
|
||||||
|
uint8_t recPtr;
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Called on interrupt on RS232 received char
|
||||||
|
/// \param The uart handler (ext_uart)
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
static uint8_t secondSTX; // STX repeated control
|
||||||
|
uint32_t size; // size of builded frame
|
||||||
|
osStatus_t retCode;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// RECEIVED CHAR
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
if (recByte == STX) // is it an STX char ?
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
if(recPtr == 0) // is it first char ?
|
||||||
|
{
|
||||||
|
secondSTX = 0; // this is the first STX
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
else // is not the first char
|
||||||
|
{
|
||||||
|
if (secondSTX == 1) // is it the second STX
|
||||||
|
{
|
||||||
|
secondSTX = 0; // clear secondSTX flag
|
||||||
|
HAL_UART_Receive_IT(&ext_uart,&recByte,1); // enable uart receiver 1 char
|
||||||
|
|
||||||
|
return; // and quit
|
||||||
|
}
|
||||||
|
secondSTX = 1; // set secondSTX to
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
else // is not an STX char
|
||||||
|
{
|
||||||
|
if(secondSTX == 1) // if was a second STX
|
||||||
|
{
|
||||||
|
secondSTX = 0; // clearswap second STX flag
|
||||||
|
gInBuffer[0] = STX; // set first STX received
|
||||||
|
recPtr = 1; // set byte counter at 1
|
||||||
|
HAL_UART_Receive_IT(&ext_uart,&recByte,1); // enable uart receiver 1 char
|
||||||
|
return; // and quit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gInBuffer[recPtr] = recByte; // copy data in input buffer
|
||||||
|
recPtr++; // increment byte counter
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
if(recPtr > 4) // received more than 4 bytes
|
||||||
|
{
|
||||||
|
if(gInBuffer[1]== TOKEN_TAG) // is it a token frame
|
||||||
|
{
|
||||||
|
size = TOKENSIZE; // size is token size
|
||||||
|
}
|
||||||
|
else // not a token frame
|
||||||
|
{
|
||||||
|
size = gInBuffer[3]+6; // get size in frame
|
||||||
|
}
|
||||||
|
if (recPtr == size) // check all bytes received
|
||||||
|
{
|
||||||
|
if(recByte == ETX) // last char received was ETX ?
|
||||||
|
{
|
||||||
|
queueMsg.type = FROM_PHY;
|
||||||
|
queueMsg.anyPtr = gInBuffer;
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND (send received frame to physical receiver)
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_usartR_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
0);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
recPtr = 0; // reset bytes counter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
HAL_UART_Receive_IT(&ext_uart,&recByte,1); // enable uart receiver 1 char
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD PHYSICAL RECEIVER
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void PhReceiver(void *argument)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
uint8_t * msg;
|
||||||
|
uint8_t * qPtr;
|
||||||
|
size_t size;
|
||||||
|
osStatus_t retCode;
|
||||||
|
|
||||||
|
HAL_UART_Receive_IT(&ext_uart,&recByte,1); // enable uart receiver 1 char
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
for (;;) // loop until doomsday
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE READ
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueueGet(
|
||||||
|
queue_usartR_id,
|
||||||
|
&queueMsg,
|
||||||
|
NULL,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
qPtr = queueMsg.anyPtr;
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// DEBUG DISPLAY FRAME
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
putchar('R'); // insert a R for Receive
|
||||||
|
putchar(':'); // insert a :
|
||||||
|
DebugFrame((char*)qPtr); // display frame on TERMINAL
|
||||||
|
if (qPtr[1] == TOKEN_TAG) // is it a token frame ?
|
||||||
|
{
|
||||||
|
size = TOKENSIZE; // yes -> token frame size
|
||||||
|
Ext_LED_PWM(1,100); // token is in station
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
size = qPtr[3]+6; // size of string + 6 (ETX,...)
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// MEMORY ALLOCATION
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
msg = osMemoryPoolAlloc(memPool,osWaitForever);
|
||||||
|
memcpy(msg,&qPtr[1],size-2);
|
||||||
|
queueMsg.anyPtr = msg;
|
||||||
|
queueMsg.type = FROM_PHY;
|
||||||
|
if((msg[0] == TOKEN_TAG) || // is a token frame
|
||||||
|
((msg[1]>>3) == gTokenInterface.myAddress) || // is destination my address
|
||||||
|
((msg[0]>>3) == gTokenInterface.myAddress) || // is source my address
|
||||||
|
((msg[1]>>3) == BROADCAST_ADDRESS)) // is a broadcast frame
|
||||||
|
{
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND (send received frame to mac layer receiver)
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_macR_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND (send received frame to physical layer sender)
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_phyS_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
162
phy_sender.c
Normal file
162
phy_sender.c
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file phy_sender.c
|
||||||
|
/// \brief Physical sender thread
|
||||||
|
/// \author Pascal Sartoretti (sap at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "main.h"
|
||||||
|
#include "ext_uart.h"
|
||||||
|
#include "ext_led.h"
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Called on interrupt on RS232 sended char
|
||||||
|
/// \param The uart handler (ext_uart)
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
|
||||||
|
{
|
||||||
|
osEventFlagsSet(eventFlag_id, RS232_TX_EVENT); // set flag for next send
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \brief Send bytes to physical line
|
||||||
|
/// \param byte The byte to send
|
||||||
|
/// \param counter The number of the byte in the frame
|
||||||
|
///
|
||||||
|
/// The STX is sent twice if not the first byte
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void rs232_send(uint8_t byte, uint8_t counter)
|
||||||
|
{
|
||||||
|
int32_t eventFlag; // current flag
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// EVENT GET wait 10 ticks max
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
eventFlag = osEventFlagsWait(
|
||||||
|
eventFlag_id,
|
||||||
|
RS232_TX_EVENT,
|
||||||
|
osFlagsWaitAny,
|
||||||
|
10);
|
||||||
|
if((eventFlag < 0)&& // case of error
|
||||||
|
(eventFlag != -2)) // but not a timeout
|
||||||
|
CheckRetCode(eventFlag,__LINE__,__FILE__,CONTINUE);
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
if((counter == 0)&&(byte == STX)) // first STX to send
|
||||||
|
{
|
||||||
|
HAL_UART_Transmit_IT(&ext_uart,&byte, 1);
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
if ((counter != 0)&&(byte != STX)) // any data to send not STX
|
||||||
|
{
|
||||||
|
HAL_UART_Transmit_IT(&ext_uart,&byte, 1);
|
||||||
|
}
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
if ((counter != 0)&&(byte == STX)) // STX in frame -> double it
|
||||||
|
{
|
||||||
|
HAL_UART_Transmit_IT(&ext_uart,&byte, 1); // send first STX
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// EVENT GET wait 10 ticks max
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
eventFlag = osEventFlagsWait(
|
||||||
|
eventFlag_id,
|
||||||
|
RS232_TX_EVENT,
|
||||||
|
osFlagsWaitAny,
|
||||||
|
10);
|
||||||
|
if((eventFlag < 0)&& // case of error
|
||||||
|
(eventFlag != -2)) // but not a timeout
|
||||||
|
CheckRetCode(eventFlag | 0x7FFFFFFF,__LINE__,__FILE__,CONTINUE);
|
||||||
|
HAL_UART_Transmit_IT(&ext_uart,&byte, 1); // send second STX
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD PHYSICAL SENDER
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void PhSender(void *argument)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
uint8_t * qPtr;
|
||||||
|
osStatus_t retCode;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
for (;;) // loop until doomsday
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE READ
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueueGet(
|
||||||
|
queue_phyS_id,
|
||||||
|
&queueMsg,
|
||||||
|
NULL,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
qPtr = queueMsg.anyPtr;
|
||||||
|
if(qPtr[0] == TOKEN_TAG)
|
||||||
|
{
|
||||||
|
Ext_LED_PWM(1,0); // token is out of station
|
||||||
|
}
|
||||||
|
#if DEBUG_MODE != 0
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// DEBUG DISPLAY FRAME
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
DebugMacFrame('S',qPtr);
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND (send frame to debug station)
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_dbg_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
0);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
#else
|
||||||
|
uint8_t * msg;
|
||||||
|
uint8_t i;
|
||||||
|
size_t size;
|
||||||
|
|
||||||
|
if(qPtr[0] == TOKEN_TAG)
|
||||||
|
{
|
||||||
|
size = TOKENSIZE; // this is a token
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
size = qPtr[2] + 6; // = txtSize + STX + SRC + DST + LN + CS + ETX
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// MEMORY ALLOCATION
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
msg = osMemoryPoolAlloc(memPool,osWaitForever);
|
||||||
|
msg[0] = STX;
|
||||||
|
memcpy(&msg[1],qPtr,size-2);
|
||||||
|
msg[size-1] = ETX;
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// DEBUG DISPLAY FRAME
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
putchar('S'); // insert a S for Send
|
||||||
|
putchar(':'); // insert a :
|
||||||
|
DebugFrame((char *)msg); // for debug info only
|
||||||
|
for(i=0;i<size;i++)
|
||||||
|
{
|
||||||
|
rs232_send(msg[i],i);
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// MEMORY RELEASE (received frame : mac layer style)
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMemoryPoolFree(memPool,qPtr);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// MEMORY RELEASE (created frame : phy layer style)
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMemoryPoolFree(memPool,msg);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
25
rendering_functions.h
Normal file
25
rendering_functions.h
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#ifndef _RENDERING_FUNCTIONS_H
|
||||||
|
#define _RENDERING_FUNCTIONS_H
|
||||||
|
|
||||||
|
#include "gfx.h"
|
||||||
|
#include "resources_manager.h"
|
||||||
|
|
||||||
|
// background_Display Background
|
||||||
|
void background_Display_Background(GWidgetObject* wo, void* param)
|
||||||
|
{
|
||||||
|
(void)param;
|
||||||
|
|
||||||
|
gdispGFillArea(wo->g.display, wo->g.x, wo->g.y, wo->g.width, wo->g.height, White);
|
||||||
|
gdispGFillArea(wo->g.display, 0, 0, 480, 272, HTML2COLOR(0xFFFFFF));
|
||||||
|
}
|
||||||
|
|
||||||
|
// background_gray
|
||||||
|
void background_gray(GWidgetObject* wo, void* param)
|
||||||
|
{
|
||||||
|
(void)param;
|
||||||
|
|
||||||
|
gdispGFillArea(wo->g.display, wo->g.x, wo->g.y, wo->g.width, wo->g.height, White);
|
||||||
|
gdispGFillArea(wo->g.display, 0, 0, 480, 272, HTML2COLOR(0x606060));
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // _RENDERING_FUNCTIONS_H
|
273
resources/arial_12_arial12_aa.c
Normal file
273
resources/arial_12_arial12_aa.c
Normal file
@ -0,0 +1,273 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/* Start of automatically generated font definition for arial12. */
|
||||||
|
|
||||||
|
#ifndef MF_RLEFONT_INTERNALS
|
||||||
|
#define MF_RLEFONT_INTERNALS
|
||||||
|
#endif
|
||||||
|
#include "mf_rlefont.h"
|
||||||
|
|
||||||
|
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||||
|
#error The font file is not compatible with this version of mcufont.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_arial12_dictionary_data[331] = {
|
||||||
|
0x1b, 0x03, 0xc7, 0x0b, 0x0c, 0x04, 0x0b, 0x07, 0x0b, 0xc3, 0xcd, 0x0a, 0x09, 0x06, 0x40, 0x02,
|
||||||
|
0xc3, 0xcc, 0x80, 0xc1, 0x03, 0xc7, 0xcb, 0x01, 0xc2, 0xc6, 0xce, 0x02, 0x28, 0x0b, 0xcd, 0xc4,
|
||||||
|
0x03, 0x84, 0xc4, 0xcc, 0x02, 0x81, 0x01, 0xc1, 0xc5, 0xc1, 0x80, 0xcd, 0xc8, 0xc1, 0xca, 0xc8,
|
||||||
|
0x08, 0x01, 0xc3, 0xc2, 0x80, 0x80, 0xcc, 0xc5, 0xc8, 0x18, 0xce, 0xc3, 0xce, 0xc9, 0xc7, 0xca,
|
||||||
|
0xca, 0xce, 0xcd, 0xc5, 0xcd, 0xc3, 0xc6, 0xcc, 0xc5, 0xcd, 0xcc, 0xc5, 0xcc, 0xc3, 0xcd, 0xc1,
|
||||||
|
0xc2, 0xcd, 0xce, 0xc2, 0xd9, 0xc7, 0xcc, 0xce, 0xc1, 0xc4, 0xc1, 0xc1, 0x80, 0xca, 0xc1, 0xca,
|
||||||
|
0xc7, 0xc9, 0xc6, 0xc9, 0xce, 0xc3, 0xcd, 0xc1, 0xc9, 0xcb, 0x06, 0xc1, 0x80, 0xc1, 0x01, 0xc2,
|
||||||
|
0xce, 0xc4, 0xc9, 0xc9, 0xc5, 0xca, 0xc3, 0xc6, 0x01, 0xde, 0xca, 0xc4, 0xc8, 0xcb, 0xc5, 0xcb,
|
||||||
|
0xcb, 0xc4, 0xc2, 0xcc, 0xc3, 0x80, 0x83, 0xd8, 0xc7, 0xcd, 0xc4, 0xce, 0xc1, 0xcc, 0xce, 0xc4,
|
||||||
|
0xda, 0xc6, 0xcd, 0xc1, 0xcd, 0xc4, 0xcd, 0xcb, 0xc2, 0xc3, 0xce, 0xcc, 0xc4, 0xc8, 0xcc, 0x05,
|
||||||
|
0x80, 0xc3, 0xc1, 0xcb, 0x01, 0xcb, 0xc3, 0xca, 0xc2, 0x01, 0xc5, 0xcc, 0xc7, 0xce, 0xc7, 0xc9,
|
||||||
|
0xcd, 0xc4, 0xc8, 0xc9, 0x01, 0xcc, 0x5f, 0x29, 0x42, 0x19, 0x4f, 0x29, 0x0f, 0x02, 0x1d, 0x1c,
|
||||||
|
0x2f, 0x25, 0x0b, 0x01, 0x0d, 0x07, 0x04, 0x0a, 0x45, 0x22, 0x4f, 0x29, 0x51, 0x6c, 0x5d, 0x06,
|
||||||
|
0x0e, 0x05, 0x5d, 0x07, 0x01, 0x59, 0x4f, 0x1e, 0x4f, 0x29, 0x4f, 0x1e, 0x1d, 0x35, 0x1f, 0x1f,
|
||||||
|
0x1f, 0x48, 0x1d, 0x29, 0x24, 0x1e, 0x3b, 0x29, 0x2d, 0x1c, 0x27, 0x63, 0x6e, 0x0c, 0x33, 0x1b,
|
||||||
|
0x0d, 0x1b, 0x0d, 0x1b, 0x0d, 0x1b, 0x0d, 0x1b, 0x0f, 0x1e, 0xa4, 0x00, 0x63, 0x20, 0x23, 0x63,
|
||||||
|
0x22, 0x25, 0x26, 0x00, 0xa4, 0x6c, 0x51, 0x22, 0x34, 0x39, 0x1d, 0x08, 0x03, 0x1d, 0x0a, 0x01,
|
||||||
|
0x22, 0x21, 0x51, 0x21, 0x51, 0x6c, 0x29, 0x4a, 0x2d, 0x21, 0x2d, 0x21, 0x2d, 0x21, 0x2d, 0x21,
|
||||||
|
0x0d, 0x71, 0x1d, 0x5f, 0x1d, 0x0e, 0x68, 0x00, 0x4f, 0x06, 0x0a, 0x29, 0x09, 0x1a, 0x09, 0x1a,
|
||||||
|
0x04, 0x20, 0x2d, 0x6c, 0x2d, 0x2d, 0x6c, 0x07, 0x08, 0x01, 0x20, 0x04, 0x0c, 0x1e, 0x74, 0x29,
|
||||||
|
0x52, 0x49, 0x75, 0x2b, 0x33, 0x75, 0x2b, 0x33, 0x75, 0x2b, 0x6c,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_arial12_dictionary_offsets[136] = {
|
||||||
|
0x0000, 0x0001, 0x0002, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008,
|
||||||
|
0x000b, 0x000c, 0x000d, 0x000e, 0x0010, 0x0012, 0x0015, 0x0017,
|
||||||
|
0x0019, 0x001b, 0x001c, 0x001d, 0x0021, 0x0022, 0x0025, 0x0026,
|
||||||
|
0x0028, 0x002a, 0x002d, 0x0030, 0x0031, 0x0033, 0x0035, 0x0037,
|
||||||
|
0x0039, 0x003a, 0x003c, 0x003e, 0x0040, 0x0042, 0x0044, 0x0046,
|
||||||
|
0x0048, 0x004a, 0x004c, 0x004e, 0x0050, 0x0052, 0x0054, 0x0055,
|
||||||
|
0x0057, 0x0059, 0x005b, 0x005d, 0x005f, 0x0061, 0x0063, 0x0065,
|
||||||
|
0x0067, 0x006b, 0x006f, 0x0071, 0x0073, 0x0075, 0x0077, 0x0079,
|
||||||
|
0x007a, 0x007c, 0x007e, 0x0080, 0x0082, 0x0084, 0x0086, 0x0087,
|
||||||
|
0x0088, 0x008a, 0x008c, 0x008e, 0x0090, 0x0091, 0x0093, 0x0095,
|
||||||
|
0x0097, 0x0099, 0x009b, 0x009d, 0x009f, 0x00a0, 0x00a2, 0x00a4,
|
||||||
|
0x00a6, 0x00a8, 0x00aa, 0x00ac, 0x00ae, 0x00b0, 0x00b2, 0x00b4,
|
||||||
|
0x00b6, 0x00bc, 0x00bf, 0x00c2, 0x00c4, 0x00c6, 0x00c8, 0x00d0,
|
||||||
|
0x00d2, 0x00d6, 0x00dc, 0x00de, 0x00e1, 0x00e3, 0x00ef, 0x00f8,
|
||||||
|
0x00fb, 0x0100, 0x0105, 0x0107, 0x010a, 0x010f, 0x0111, 0x0116,
|
||||||
|
0x0118, 0x0120, 0x0122, 0x0125, 0x0127, 0x0129, 0x012c, 0x0130,
|
||||||
|
0x0132, 0x0137, 0x0139, 0x013b, 0x013d, 0x0140, 0x0142, 0x014b,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_arial12_glyph_data_0[2493] = {
|
||||||
|
0x03, 0x00, 0x10, 0x03, 0xf8, 0x05, 0x22, 0xa4, 0x05, 0x1d, 0x7f, 0x2b, 0x33, 0x42, 0x1d, 0x68,
|
||||||
|
0x1d, 0x4b, 0x38, 0x63, 0x10, 0x04, 0x00, 0x26, 0x59, 0x21, 0x06, 0x0b, 0x3b, 0x21, 0x53, 0x37,
|
||||||
|
0x10, 0x07, 0x29, 0x6f, 0x03, 0x00, 0x0d, 0x21, 0x0d, 0x27, 0x0b, 0x1e, 0x0d, 0x2c, 0x08, 0x1e,
|
||||||
|
0x53, 0x00, 0x54, 0x33, 0x07, 0x56, 0x68, 0x1e, 0x0d, 0x2c, 0x08, 0x1e, 0x0d, 0x34, 0x0b, 0x33,
|
||||||
|
0x62, 0x00, 0x06, 0x08, 0x33, 0x53, 0x00, 0x54, 0x10, 0x07, 0x29, 0x65, 0x0f, 0x68, 0x8b, 0x0a,
|
||||||
|
0x59, 0x1e, 0x5a, 0x00, 0x09, 0x21, 0x44, 0x3b, 0x21, 0x27, 0x08, 0x0f, 0x0d, 0x97, 0x54, 0x0e,
|
||||||
|
0x1e, 0x76, 0x00, 0x09, 0xfe, 0x8d, 0x03, 0x39, 0x09, 0x47, 0x33, 0x65, 0x36, 0x02, 0x20, 0x09,
|
||||||
|
0x10, 0x0b, 0x29, 0x08, 0x3a, 0x29, 0x62, 0x6c, 0x5c, 0x01, 0x42, 0x00, 0x08, 0x05, 0x6c, 0x7d,
|
||||||
|
0x00, 0x54, 0x02, 0x0b, 0x22, 0x5c, 0x01, 0x42, 0x09, 0x04, 0x1e, 0x08, 0x3a, 0x02, 0x0b, 0x44,
|
||||||
|
0x75, 0x1e, 0x55, 0x4d, 0x9b, 0x22, 0x70, 0x6f, 0x03, 0x00, 0x0e, 0x22, 0x55, 0x00, 0x4d, 0x9b,
|
||||||
|
0x6c, 0x70, 0x29, 0x44, 0x75, 0x10, 0x08, 0x19, 0x4e, 0x0c, 0x02, 0x33, 0x04, 0x43, 0x46, 0x33,
|
||||||
|
0x72, 0x00, 0x74, 0x33, 0x77, 0x6b, 0x02, 0x33, 0x67, 0x0e, 0x56, 0x8b, 0x04, 0x63, 0x43, 0x6c,
|
||||||
|
0x26, 0x29, 0x07, 0x0f, 0x0a, 0x22, 0x69, 0x49, 0x07, 0x36, 0x8d, 0x65, 0x0f, 0x68, 0x4d, 0x10,
|
||||||
|
0x02, 0x00, 0x26, 0x1d, 0x26, 0x1d, 0x04, 0x08, 0x10, 0x04, 0x19, 0x08, 0x97, 0x02, 0x0b, 0x1d,
|
||||||
|
0x54, 0x1d, 0x0e, 0x9a, 0x69, 0x1d, 0x67, 0x1f, 0x1b, 0x84, 0x0a, 0x05, 0x20, 0x34, 0x0b, 0x1b,
|
||||||
|
0x08, 0x04, 0x10, 0x04, 0x00, 0x6e, 0x1b, 0x07, 0x1a, 0x66, 0x1b, 0x5b, 0x1d, 0x4c, 0x92, 0x09,
|
||||||
|
0x1a, 0x0c, 0x97, 0x66, 0x1d, 0x07, 0x07, 0x20, 0x6e, 0x10, 0x05, 0x29, 0x6e, 0x20, 0x74, 0x0c,
|
||||||
|
0x68, 0x1e, 0x2f, 0x4e, 0x97, 0x58, 0x08, 0x10, 0x07, 0x19, 0x18, 0x87, 0x21, 0x05, 0x2c, 0x05,
|
||||||
|
0x21, 0x87, 0x10, 0x03, 0x2a, 0x23, 0x63, 0x8c, 0x10, 0x04, 0x23, 0x09, 0x2e, 0x09, 0x10, 0x03,
|
||||||
|
0x2a, 0x23, 0x63, 0x10, 0x03, 0x19, 0x55, 0x20, 0x77, 0x1d, 0x70, 0x1d, 0x07, 0x05, 0x20, 0x6f,
|
||||||
|
0x9a, 0x62, 0x1d, 0x37, 0x1d, 0x09, 0x97, 0x77, 0x10, 0x07, 0x29, 0x67, 0x0e, 0x0a, 0x1e, 0x2f,
|
||||||
|
0x7f, 0x32, 0x1e, 0x2d, 0x4f, 0x9c, 0xfe, 0x8d, 0x74, 0xec, 0x8d, 0x74, 0xec, 0x8d, 0x5a, 0x00,
|
||||||
|
0x94, 0x22, 0x2f, 0x7f, 0x32, 0x33, 0x9b, 0x0e, 0x4b, 0x10, 0x07, 0x1c, 0x08, 0x07, 0x20, 0x08,
|
||||||
|
0x0f, 0x07, 0x21, 0x64, 0x4c, 0x33, 0x2f, 0x00, 0x96, 0x96, 0x96, 0x10, 0x07, 0x29, 0x60, 0x93,
|
||||||
|
0x1e, 0x67, 0x02, 0x01, 0x6b, 0x21, 0x8f, 0x1d, 0x72, 0x21, 0x27, 0x75, 0x33, 0x27, 0x3d, 0x33,
|
||||||
|
0x27, 0x75, 0x21, 0x66, 0x97, 0x08, 0x2c, 0x01, 0x10, 0x07, 0x29, 0x65, 0x3a, 0x1e, 0x34, 0x3e,
|
||||||
|
0x6e, 0x1a, 0x95, 0x33, 0x5c, 0x06, 0x21, 0x05, 0x0e, 0x91, 0x20, 0x65, 0x21, 0x8f, 0x8d, 0x05,
|
||||||
|
0x3e, 0x01, 0x6b, 0x33, 0x73, 0x93, 0x10, 0x07, 0x1c, 0x61, 0x20, 0x66, 0x0e, 0x20, 0x08, 0x4e,
|
||||||
|
0x21, 0x24, 0x52, 0x21, 0x42, 0x52, 0x33, 0x5f, 0x00, 0x52, 0x33, 0x0d, 0x2c, 0x01, 0x21, 0x52,
|
||||||
|
0x1d, 0x52, 0x10, 0x07, 0x29, 0x09, 0x2e, 0x36, 0x33, 0x5b, 0x1d, 0x48, 0x33, 0x8f, 0x0b, 0x93,
|
||||||
|
0x8b, 0x01, 0x6b, 0x1e, 0xa4, 0x02, 0x33, 0x8f, 0x8d, 0x05, 0x3e, 0x50, 0x29, 0x60, 0x0f, 0x7b,
|
||||||
|
0x10, 0x07, 0x29, 0x24, 0x0f, 0x42, 0x33, 0x0d, 0x06, 0x01, 0x47, 0x1e, 0x04, 0x0b, 0x1d, 0x3b,
|
||||||
|
0x0b, 0x93, 0x1e, 0x08, 0x0f, 0x30, 0x6b, 0x1e, 0x59, 0x8f, 0x8d, 0x72, 0x8f, 0x8d, 0x01, 0x0e,
|
||||||
|
0x06, 0x01, 0x59, 0x33, 0x24, 0x93, 0x10, 0x07, 0x00, 0x07, 0x2c, 0x02, 0x20, 0x46, 0x20, 0x61,
|
||||||
|
0x9a, 0x0c, 0x06, 0x20, 0x69, 0x1d, 0x46, 0x2b, 0x6c, 0x8f, 0x9a, 0x69, 0x10, 0x07, 0x29, 0x67,
|
||||||
|
0x0e, 0x4b, 0x33, 0x7f, 0x32, 0x1e, 0x52, 0x29, 0x5a, 0x33, 0x3d, 0x32, 0x33, 0x06, 0x2e, 0x91,
|
||||||
|
0x22, 0x04, 0x39, 0x01, 0x47, 0x1e, 0x3b, 0xec, 0x8d, 0x61, 0x49, 0x60, 0x33, 0x65, 0x0e, 0x0b,
|
||||||
|
0x03, 0x10, 0x07, 0x29, 0x40, 0x3a, 0x01, 0x1e, 0x52, 0x30, 0x0a, 0x09, 0x1e, 0x95, 0x52, 0x1e,
|
||||||
|
0x95, 0x35, 0x8d, 0x69, 0x49, 0x09, 0x0f, 0x02, 0x1e, 0x65, 0x0e, 0x28, 0x9a, 0x44, 0x22, 0x94,
|
||||||
|
0x02, 0x6e, 0x07, 0x33, 0x73, 0x3a, 0x10, 0x03, 0x18, 0x88, 0x10, 0x03, 0x18, 0x88, 0x8c, 0x10,
|
||||||
|
0x07, 0x29, 0x18, 0x2f, 0x5a, 0x05, 0x1e, 0x7d, 0x0d, 0x09, 0x04, 0x1e, 0x05, 0x0f, 0x08, 0x9a,
|
||||||
|
0x7d, 0x0d, 0x09, 0x97, 0x01, 0x5a, 0x05, 0x10, 0x07, 0x2a, 0x05, 0x2c, 0x05, 0x6c, 0x18, 0x05,
|
||||||
|
0x2c, 0x05, 0x10, 0x07, 0x18, 0x5a, 0x05, 0x9a, 0x53, 0x0d, 0x58, 0x21, 0x2f, 0x08, 0x0f, 0x05,
|
||||||
|
0x1e, 0x53, 0x0d, 0x58, 0x1e, 0x5a, 0x30, 0x10, 0x07, 0x29, 0x67, 0x93, 0x22, 0x2f, 0x0e, 0x30,
|
||||||
|
0x09, 0x0c, 0x1e, 0x5a, 0x8f, 0x9a, 0x40, 0x20, 0x04, 0x63, 0x33, 0x2f, 0x0e, 0x97, 0x24, 0x38,
|
||||||
|
0x61, 0x10, 0x0c, 0x1c, 0x70, 0x0d, 0x0f, 0x0d, 0x09, 0x02, 0x6c, 0x65, 0x06, 0x02, 0x27, 0x08,
|
||||||
|
0x39, 0x29, 0x34, 0x43, 0x6c, 0x67, 0x19, 0x5b, 0x00, 0x73, 0x0d, 0x47, 0x00, 0x58, 0x00, 0x62,
|
||||||
|
0x00, 0x47, 0x02, 0x02, 0x3a, 0x00, 0x07, 0x07, 0x00, 0x53, 0x00, 0x39, 0x29, 0x0a, 0x56, 0x08,
|
||||||
|
0x56, 0x37, 0x01, 0xe5, 0x91, 0x43, 0x00, 0x70, 0x00, 0x0e, 0x30, 0x0a, 0x0f, 0x01, 0x4c, 0x19,
|
||||||
|
0x48, 0x67, 0x0d, 0x65, 0x0e, 0x07, 0x1c, 0x08, 0x0a, 0x22, 0x6f, 0x07, 0x19, 0x0a, 0x41, 0x02,
|
||||||
|
0x2f, 0x72, 0x09, 0x6c, 0x5a, 0x0e, 0x0f, 0x0e, 0x0b, 0x05, 0x10, 0x08, 0x1c, 0x0d, 0x0a, 0x20,
|
||||||
|
0x9b, 0x48, 0x21, 0x0a, 0x08, 0x4c, 0x1e, 0x2f, 0x45, 0x40, 0x33, 0x95, 0x75, 0x22, 0x6f, 0x5e,
|
||||||
|
0x0a, 0x22, 0x52, 0x29, 0x27, 0x48, 0x6c, 0x3b, 0x19, 0x77, 0x06, 0x6c, 0x3d, 0x1c, 0x47, 0x10,
|
||||||
|
0x08, 0x27, 0x5e, 0x42, 0x6c, 0x27, 0xfd, 0x2f, 0x09, 0x0c, 0x6c, 0x27, 0xe5, 0x67, 0x6c, 0x27,
|
||||||
|
0xfd, 0x2f, 0x4d, 0x6c, 0x27, 0x2c, 0x08, 0x6c, 0x27, 0xe5, 0x05, 0x6d, 0x1c, 0x27, 0xc5, 0x3d,
|
||||||
|
0x1c, 0x27, 0xe5, 0x05, 0x48, 0x1c, 0x27, 0xfb, 0x0e, 0x6a, 0x10, 0x09, 0x19, 0x3f, 0x0e, 0x7c,
|
||||||
|
0x1e, 0x60, 0x49, 0x24, 0x08, 0x1c, 0x2f, 0x6d, 0x19, 0x70, 0x6c, 0x40, 0x1d, 0x3f, 0x1d, 0x67,
|
||||||
|
0x1c, 0x2f, 0x1c, 0x2f, 0x6d, 0x29, 0x34, 0x48, 0x6c, 0x08, 0x3e, 0x01, 0x4f, 0x08, 0x1e, 0x60,
|
||||||
|
0x0f, 0x7c, 0x10, 0x09, 0x2f, 0x5e, 0x41, 0x00, 0x8a, 0x01, 0x05, 0x63, 0x7a, 0x59, 0x7a, 0x69,
|
||||||
|
0x7a, 0x35, 0x7a, 0x67, 0x7a, 0x59, 0x8a, 0x01, 0x05, 0x63, 0x1c, 0x2f, 0xfb, 0x0e, 0x6a, 0x10,
|
||||||
|
0x08, 0x2f, 0xc3, 0x02, 0x8a, 0x8e, 0x19, 0x2f, 0x2c, 0x0d, 0x00, 0x8a, 0x8e, 0x19, 0x2f, 0xc3,
|
||||||
|
0x05, 0x10, 0x07, 0xc0, 0x36, 0x1e, 0x79, 0x79, 0x79, 0x2c, 0x02, 0x1e, 0x79, 0x79, 0x79, 0x79,
|
||||||
|
0x10, 0x09, 0x19, 0x72, 0x57, 0x0b, 0x03, 0x22, 0x28, 0x30, 0x01, 0x07, 0x45, 0x6c, 0x63, 0x1c,
|
||||||
|
0x07, 0x03, 0x1c, 0x61, 0x1d, 0x40, 0x8f, 0x2e, 0x09, 0x1c, 0x61, 0x6c, 0x76, 0x6c, 0x63, 0x1c,
|
||||||
|
0x76, 0x6c, 0x28, 0x30, 0x01, 0x28, 0x06, 0x22, 0x04, 0x0b, 0x57, 0x5b, 0x10, 0x09, 0x29, 0x25,
|
||||||
|
0x26, 0x89, 0x01, 0x19, 0x26, 0x89, 0x2c, 0x0b, 0x89, 0x01, 0x19, 0x26, 0x89, 0x01, 0x19, 0x26,
|
||||||
|
0x10, 0x03, 0x29, 0x9e, 0x19, 0x75, 0x2b, 0x33, 0x75, 0x10, 0x06, 0x1c, 0x51, 0x8e, 0x1c, 0x51,
|
||||||
|
0x8e, 0x00, 0x08, 0x56, 0x4a, 0x33, 0x07, 0x7b, 0x60, 0x1e, 0x2f, 0x3c, 0x75, 0x10, 0x08, 0x27,
|
||||||
|
0xe5, 0x04, 0x7f, 0x1c, 0x27, 0xf5, 0x69, 0x06, 0x6c, 0x27, 0xfd, 0x69, 0x07, 0x1e, 0x35, 0x69,
|
||||||
|
0x08, 0x33, 0x35, 0x0e, 0x0d, 0x0b, 0x33, 0x35, 0x08, 0x01, 0x7c, 0x22, 0x27, 0xf5, 0x04, 0x6d,
|
||||||
|
0x6c, 0x27, 0xe5, 0x08, 0x43, 0x1c, 0x27, 0xc5, 0x0d, 0x09, 0x10, 0x07, 0x00, 0x35, 0x82, 0x82,
|
||||||
|
0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x5e, 0x04, 0x10, 0x0a, 0x27, 0x36, 0x1c, 0x09, 0x25, 0x35,
|
||||||
|
0x91, 0x00, 0x77, 0x25, 0x35, 0x08, 0x07, 0x29, 0x37, 0x25, 0x35, 0x2d, 0x55, 0x25, 0x02, 0xfd,
|
||||||
|
0x45, 0x66, 0x00, 0x25, 0x02, 0xfd, 0x09, 0x07, 0x05, 0x09, 0x00, 0x25, 0x02, 0xfd, 0x72, 0x58,
|
||||||
|
0x00, 0x25, 0x35, 0x2f, 0x57, 0x29, 0x25, 0x02, 0xf5, 0x64, 0xf8, 0x01, 0x10, 0x09, 0x00, 0x4a,
|
||||||
|
0x06, 0x19, 0x95, 0x29, 0x2f, 0x36, 0x01, 0x29, 0x95, 0x00, 0x8f, 0x06, 0x09, 0x29, 0x95, 0x00,
|
||||||
|
0x8f, 0x6f, 0x03, 0x00, 0x95, 0x00, 0x8f, 0x34, 0x0b, 0x00, 0x95, 0x29, 0x2f, 0xf5, 0x54, 0x95,
|
||||||
|
0x29, 0x2f, 0xf5, 0x62, 0x3b, 0x1c, 0x2f, 0xe5, 0x28, 0x0a, 0x1c, 0x2f, 0xe5, 0x77, 0x0a, 0x10,
|
||||||
|
0x09, 0x19, 0x3f, 0x31, 0x8d, 0x60, 0x30, 0x02, 0x0a, 0x0c, 0x1c, 0x2f, 0x39, 0x1c, 0x0d, 0x06,
|
||||||
|
0x1c, 0x40, 0x6c, 0x3b, 0x1c, 0x3f, 0x6c, 0x3f, 0x1c, 0x40, 0x6c, 0x08, 0x0a, 0x19, 0x2f, 0x39,
|
||||||
|
0x1c, 0x0d, 0x06, 0x6c, 0x60, 0x49, 0x02, 0x0a, 0x0c, 0x1e, 0x72, 0x31, 0x01, 0x10, 0x08, 0x2f,
|
||||||
|
0x5e, 0x7c, 0x00, 0x8a, 0x34, 0x63, 0x7a, 0x0b, 0x07, 0x8a, 0x00, 0x04, 0x39, 0x1c, 0x2f, 0x5e,
|
||||||
|
0x7c, 0x00, 0x8a, 0x8e, 0x1c, 0x51, 0x10, 0x09, 0x19, 0x3f, 0x31, 0x8d, 0x08, 0x0d, 0x49, 0x02,
|
||||||
|
0x0b, 0x0b, 0x1c, 0x2f, 0x6d, 0x1c, 0x3d, 0x1c, 0x3f, 0x6c, 0x76, 0x1c, 0x26, 0x6c, 0x26, 0x1c,
|
||||||
|
0x3f, 0x6c, 0x46, 0x19, 0x2f, 0x6d, 0x27, 0x07, 0x01, 0x3d, 0x6c, 0x07, 0x75, 0x5c, 0x0e, 0x0c,
|
||||||
|
0x1e, 0x3f, 0x0f, 0x0d, 0x3f, 0x08, 0x20, 0x2f, 0x04, 0x10, 0x09, 0x2f, 0x5e, 0x0e, 0x7b, 0x8a,
|
||||||
|
0x27, 0x0b, 0x09, 0x7a, 0x3f, 0x8a, 0x00, 0x5c, 0x09, 0x1c, 0x2f, 0x5e, 0x3a, 0x01, 0x8a, 0x05,
|
||||||
|
0x91, 0x8a, 0x00, 0x07, 0x43, 0x7a, 0x0c, 0x09, 0x7a, 0x04, 0x6d, 0x10, 0x08, 0x00, 0x34, 0x0b,
|
||||||
|
0x57, 0x4b, 0x1e, 0x7c, 0x01, 0x01, 0x0a, 0x0b, 0x00, 0x8a, 0x00, 0x51, 0x1c, 0x77, 0x0c, 0x06,
|
||||||
|
0x02, 0x33, 0x2f, 0x47, 0x0f, 0x3d, 0x21, 0x2f, 0x06, 0x6d, 0x6c, 0x3f, 0x1c, 0x41, 0x1c, 0x2f,
|
||||||
|
0x0e, 0x07, 0x02, 0x01, 0x05, 0x45, 0x6c, 0x34, 0x0b, 0x0e, 0x0f, 0x42, 0x10, 0x07, 0x6f, 0xc3,
|
||||||
|
0x01, 0x33, 0x9e, 0x19, 0x75, 0x2b, 0x10, 0x09, 0x2f, 0x25, 0x26, 0x7a, 0x26, 0x7a, 0x26, 0x7a,
|
||||||
|
0x26, 0x7a, 0x26, 0x7a, 0x3b, 0x22, 0x39, 0x19, 0x46, 0x22, 0x09, 0x68, 0x01, 0x04, 0x63, 0x6c,
|
||||||
|
0x2f, 0x4e, 0x0f, 0x41, 0x10, 0x08, 0x77, 0x07, 0x1c, 0x26, 0x6c, 0x3f, 0x1c, 0x41, 0x1c, 0x2f,
|
||||||
|
0x6d, 0x29, 0x69, 0x1e, 0x0a, 0x08, 0x29, 0x46, 0x1e, 0x61, 0x29, 0x39, 0x33, 0x63, 0x40, 0x21,
|
||||||
|
0x08, 0x0a, 0x4c, 0x21, 0x69, 0x45, 0x21, 0x77, 0x0b, 0x10, 0x0b, 0x6f, 0x06, 0x29, 0x35, 0x08,
|
||||||
|
0x29, 0x51, 0x3b, 0x29, 0x65, 0x0b, 0x29, 0x2d, 0x4f, 0x29, 0x4c, 0x48, 0x00, 0x5f, 0x19, 0x48,
|
||||||
|
0x00, 0x45, 0x6a, 0x00, 0x5b, 0x19, 0x5b, 0x4f, 0x00, 0x5f, 0x00, 0x48, 0x19, 0x99, 0x99, 0x34,
|
||||||
|
0x42, 0x0b, 0x1c, 0x24, 0x6a, 0x29, 0x0e, 0x4c, 0x6c, 0x0e, 0x0f, 0x01, 0x29, 0x0a, 0x6d, 0x1c,
|
||||||
|
0x6f, 0x0b, 0x19, 0x28, 0x10, 0x08, 0x34, 0x45, 0x19, 0x3d, 0x22, 0x59, 0x29, 0x08, 0x0a, 0x33,
|
||||||
|
0x41, 0x03, 0x43, 0x33, 0x69, 0x63, 0x21, 0x77, 0x0d, 0x20, 0x47, 0x0d, 0x08, 0x00, 0x8b, 0x03,
|
||||||
|
0x6d, 0x6c, 0x2f, 0x7c, 0x29, 0x08, 0x43, 0x6c, 0x09, 0x0b, 0x19, 0x77, 0x09, 0x10, 0x08, 0x00,
|
||||||
|
0x0a, 0x0b, 0x19, 0x6f, 0x09, 0x1c, 0x2f, 0x63, 0x29, 0x67, 0x8d, 0x65, 0x29, 0x75, 0x1e, 0x6f,
|
||||||
|
0x08, 0x46, 0x21, 0x52, 0x0d, 0x9a, 0x0a, 0x1a, 0x0a, 0x1a, 0x0a, 0x1a, 0x4c, 0x10, 0x07, 0x00,
|
||||||
|
0x04, 0x2c, 0x0d, 0x20, 0x77, 0x08, 0x20, 0x26, 0x20, 0x04, 0x43, 0x21, 0x52, 0x97, 0x0c, 0x07,
|
||||||
|
0x20, 0x09, 0x0b, 0x20, 0x65, 0x9a, 0x0c, 0xc3, 0x10, 0x03, 0x34, 0x2e, 0x02, 0x33, 0x94, 0x1f,
|
||||||
|
0x1f, 0x83, 0x83, 0x1d, 0x5d, 0x79, 0x10, 0x03, 0x77, 0x1b, 0x09, 0x04, 0x1d, 0x37, 0x1d, 0x62,
|
||||||
|
0x1b, 0x7b, 0x1d, 0x07, 0x05, 0x1d, 0x70, 0x1d, 0x77, 0x1b, 0x55, 0x10, 0x03, 0x77, 0x0f, 0x08,
|
||||||
|
0x1d, 0x5f, 0x92, 0x5f, 0x92, 0x5f, 0x92, 0x5f, 0x92, 0x5f, 0x21, 0x77, 0x0f, 0x08, 0x10, 0x06,
|
||||||
|
0x29, 0x77, 0x07, 0x20, 0x7d, 0x0c, 0x20, 0x58, 0x58, 0x33, 0x66, 0x00, 0x7d, 0x00, 0x9c, 0x45,
|
||||||
|
0x10, 0x07, 0x38, 0x2a, 0x23, 0x03, 0x2c, 0x36, 0x10, 0x04, 0x34, 0x79, 0x99, 0x10, 0x07, 0x00,
|
||||||
|
0x18, 0x60, 0x0f, 0x75, 0x22, 0x94, 0x02, 0x50, 0x6c, 0x9b, 0x33, 0x53, 0x0b, 0x0e, 0x0c, 0x1e,
|
||||||
|
0x40, 0x06, 0x04, 0x72, 0x1e, 0x08, 0x7b, 0x5c, 0x0d, 0x1e, 0x5c, 0x0e, 0x41, 0x25, 0x10, 0x07,
|
||||||
|
0x94, 0x1f, 0x1f, 0x09, 0x93, 0x1e, 0x80, 0x22, 0x94, 0x8f, 0x8d, 0x24, 0x19, 0x7e, 0x01, 0x09,
|
||||||
|
0x0a, 0x1e, 0x24, 0x3c, 0x7b, 0x10, 0x06, 0x00, 0x18, 0x40, 0x0e, 0x7b, 0x1e, 0x9d, 0x46, 0x1e,
|
||||||
|
0x95, 0x21, 0x76, 0x1d, 0x95, 0x21, 0x9d, 0x26, 0x33, 0x40, 0x93, 0x10, 0x07, 0x6c, 0x9b, 0x1d,
|
||||||
|
0x9b, 0x33, 0x06, 0x57, 0x6b, 0x8b, 0x5c, 0x0c, 0x9c, 0x72, 0x1e, 0x09, 0x08, 0x85, 0x40, 0x0e,
|
||||||
|
0x6b, 0x10, 0x07, 0x00, 0x18, 0x9b, 0x0e, 0x4b, 0x1e, 0x52, 0x30, 0x09, 0x0a, 0x1e, 0x95, 0x4a,
|
||||||
|
0x1e, 0x08, 0x2c, 0x02, 0x22, 0x3b, 0x1d, 0x9d, 0x65, 0x33, 0x9b, 0x0e, 0x42, 0x10, 0x03, 0x29,
|
||||||
|
0x08, 0x0f, 0x09, 0x20, 0x39, 0x20, 0x0d, 0x2e, 0x05, 0x20, 0x84, 0x84, 0x84, 0x84, 0x84, 0x48,
|
||||||
|
0x10, 0x07, 0x00, 0x18, 0x65, 0x0d, 0x60, 0x22, 0x34, 0x63, 0x62, 0x0d, 0x9c, 0x67, 0x1e, 0x09,
|
||||||
|
0x07, 0x29, 0x44, 0x9c, 0x67, 0x22, 0x27, 0x39, 0x6e, 0x0d, 0x33, 0x28, 0x0d, 0x6b, 0x21, 0x2f,
|
||||||
|
0x46, 0x1e, 0x5c, 0x0f, 0x0e, 0x4b, 0x10, 0x07, 0x94, 0x1f, 0x1f, 0x4e, 0x3e, 0x1e, 0x80, 0x1e,
|
||||||
|
0x69, 0x29, 0x81, 0x4f, 0x29, 0x81, 0x4f, 0x00, 0x94, 0x10, 0x03, 0x94, 0x38, 0x4f, 0x83, 0x83,
|
||||||
|
0x10, 0x03, 0x94, 0x38, 0x4f, 0x83, 0x83, 0x1d, 0x72, 0x20, 0x28, 0x06, 0x10, 0x06, 0x94, 0x1f,
|
||||||
|
0x1f, 0x34, 0x63, 0x22, 0x94, 0x02, 0x3d, 0x33, 0x69, 0x0d, 0x08, 0x21, 0x5d, 0x0b, 0x0d, 0x33,
|
||||||
|
0x94, 0x77, 0x07, 0x1e, 0x94, 0x34, 0x45, 0x22, 0x94, 0x29, 0x64, 0x10, 0x03, 0x00, 0x90, 0x90,
|
||||||
|
0x9b, 0x10, 0x0a, 0x18, 0x03, 0x0b, 0x4e, 0x0b, 0x24, 0x0e, 0x08, 0x1c, 0x5d, 0x06, 0x62, 0x3e,
|
||||||
|
0x5d, 0x02, 0x19, 0x69, 0x29, 0x76, 0x29, 0x3e, 0x29, 0x94, 0x29, 0x78, 0x78, 0x78, 0x5f, 0x29,
|
||||||
|
0x42, 0x10, 0x07, 0x18, 0x24, 0x3c, 0x42, 0x1e, 0x5d, 0x06, 0x50, 0x00, 0x69, 0x29, 0x81, 0x4f,
|
||||||
|
0x29, 0x81, 0x4f, 0x00, 0x94, 0x10, 0x07, 0x00, 0x18, 0x40, 0x93, 0x1e, 0x9d, 0x09, 0x0b, 0x1e,
|
||||||
|
0x3b, 0x8f, 0x02, 0x22, 0x5f, 0x19, 0x3e, 0x22, 0x3b, 0x8f, 0x02, 0x22, 0x9d, 0x09, 0x0c, 0x33,
|
||||||
|
0x40, 0x93, 0x10, 0x07, 0x18, 0x24, 0x0a, 0x36, 0x02, 0x1e, 0x80, 0x1e, 0x69, 0x8f, 0x8d, 0x24,
|
||||||
|
0x19, 0x7e, 0x50, 0x94, 0x3c, 0x0b, 0x8d, 0x94, 0x1f, 0x10, 0x07, 0x00, 0x18, 0x65, 0x0e, 0x47,
|
||||||
|
0x8b, 0x5c, 0x0c, 0x9c, 0x72, 0x1e, 0x5f, 0x85, 0x67, 0x3a, 0x0c, 0x1d, 0x9b, 0x1d, 0x9b, 0x10,
|
||||||
|
0x04, 0x18, 0x24, 0x0c, 0x43, 0x33, 0x5d, 0x49, 0x21, 0x69, 0x1f, 0x1d, 0x24, 0x1d, 0x24, 0x1d,
|
||||||
|
0x24, 0x10, 0x06, 0x00, 0x18, 0x4e, 0x7c, 0x33, 0x05, 0x7b, 0x02, 0x39, 0x1e, 0x05, 0x0e, 0x06,
|
||||||
|
0x02, 0x20, 0x60, 0x0f, 0x0b, 0x9a, 0x24, 0x07, 0x1e, 0x07, 0x4b, 0x62, 0x06, 0x33, 0x3c, 0x3a,
|
||||||
|
0x10, 0x03, 0x29, 0x0d, 0x1e, 0xa4, 0x20, 0x77, 0x2e, 0x9a, 0x87, 0x1b, 0x87, 0x1b, 0x79, 0x0a,
|
||||||
|
0x79, 0x10, 0x07, 0x18, 0x2d, 0x98, 0x2d, 0x98, 0x4f, 0x29, 0x72, 0x6c, 0x8f, 0x04, 0x62, 0x0c,
|
||||||
|
0x33, 0x73, 0x0d, 0x3f, 0x10, 0x06, 0x18, 0x0a, 0x06, 0x29, 0x95, 0x6c, 0x5a, 0x00, 0x6f, 0x05,
|
||||||
|
0x22, 0x2f, 0x48, 0x01, 0x48, 0x33, 0x0a, 0x06, 0x05, 0x0a, 0x21, 0x05, 0x64, 0x05, 0x33, 0x2f,
|
||||||
|
0x57, 0x9a, 0x64, 0x10, 0x09, 0x18, 0x75, 0x00, 0x05, 0x0e, 0x29, 0x09, 0x07, 0x1c, 0x08, 0x07,
|
||||||
|
0x00, 0x08, 0x6d, 0x77, 0x02, 0x1c, 0x7d, 0x6f, 0x0a, 0x06, 0x66, 0x6c, 0x66, 0x77, 0x06, 0x54,
|
||||||
|
0x09, 0x6c, 0x6f, 0x06, 0x09, 0x44, 0x54, 0x22, 0x73, 0x56, 0x0d, 0x0e, 0x8d, 0x5d, 0x71, 0x09,
|
||||||
|
0x0b, 0x10, 0x06, 0x18, 0x3f, 0x00, 0x77, 0x07, 0x33, 0x6a, 0x9b, 0x33, 0x94, 0x3e, 0x21, 0x77,
|
||||||
|
0x0c, 0x20, 0x40, 0x7f, 0x1e, 0x2f, 0x7f, 0x05, 0x48, 0x1e, 0x09, 0x0a, 0x00, 0x6f, 0x09, 0x10,
|
||||||
|
0x06, 0x18, 0x09, 0x07, 0x29, 0x5a, 0x1e, 0x2d, 0x4d, 0x33, 0x91, 0x43, 0x33, 0x08, 0x07, 0x03,
|
||||||
|
0x0b, 0x21, 0x5c, 0x08, 0x06, 0x21, 0x77, 0x0e, 0x9a, 0x59, 0x21, 0x2f, 0x3d, 0x21, 0x04, 0x3a,
|
||||||
|
0x10, 0x06, 0x18, 0x08, 0x5e, 0x08, 0x21, 0x34, 0x45, 0x33, 0x2f, 0x3d, 0x21, 0x6f, 0x08, 0x20,
|
||||||
|
0x6b, 0x20, 0x40, 0x02, 0x21, 0x6f, 0x5e, 0x0b, 0x10, 0x04, 0x29, 0x62, 0x0b, 0x20, 0x95, 0x21,
|
||||||
|
0x99, 0x1d, 0x99, 0x20, 0x62, 0x97, 0x0a, 0x0b, 0x20, 0x2f, 0x6a, 0x1d, 0x07, 0x1a, 0x99, 0x1d,
|
||||||
|
0x95, 0x21, 0x62, 0x0b, 0x10, 0x03, 0x29, 0x0d, 0x86, 0x0d, 0x86, 0x0d, 0x10, 0x04, 0x6f, 0x0c,
|
||||||
|
0x01, 0x1d, 0x0a, 0x06, 0x1d, 0x08, 0x1a, 0x07, 0x1a, 0x9b, 0x01, 0x1d, 0x64, 0x20, 0x9b, 0x9a,
|
||||||
|
0x08, 0x1a, 0x08, 0x1a, 0x0a, 0x06, 0x21, 0x6f, 0x0c, 0x01, 0x10, 0x07, 0x22, 0x2a, 0x8d, 0x6e,
|
||||||
|
0x3a, 0x02, 0x04, 0x06, 0x22, 0x06, 0x04, 0x02, 0x4e, 0x7b, 0x6c, 0x2f, 0x10,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_arial12_glyph_offsets_0[95] = {
|
||||||
|
0x0000, 0x0003, 0x0015, 0x0021, 0x0049, 0x0071, 0x00a6, 0x00d0,
|
||||||
|
0x00d9, 0x00f3, 0x010a, 0x0118, 0x0123, 0x0129, 0x012f, 0x0134,
|
||||||
|
0x0149, 0x016a, 0x017c, 0x0199, 0x01b7, 0x01d3, 0x01f1, 0x0217,
|
||||||
|
0x022d, 0x0252, 0x0277, 0x027b, 0x0280, 0x0298, 0x02a3, 0x02b8,
|
||||||
|
0x02d2, 0x032b, 0x0350, 0x037b, 0x03a3, 0x03c0, 0x03d2, 0x03e1,
|
||||||
|
0x040d, 0x0421, 0x042a, 0x043e, 0x046b, 0x0479, 0x04ad, 0x04e0,
|
||||||
|
0x050e, 0x0527, 0x055a, 0x057c, 0x05ad, 0x05b7, 0x05d5, 0x05fa,
|
||||||
|
0x0635, 0x065e, 0x067e, 0x0699, 0x06a7, 0x06bc, 0x06cf, 0x06e1,
|
||||||
|
0x06e9, 0x06ee, 0x070f, 0x0726, 0x073c, 0x0752, 0x076e, 0x0781,
|
||||||
|
0x07a7, 0x07ba, 0x07c1, 0x07cd, 0x07ec, 0x07f2, 0x0812, 0x0826,
|
||||||
|
0x0843, 0x085a, 0x0870, 0x0882, 0x08a1, 0x08b2, 0x08c5, 0x08e4,
|
||||||
|
0x0912, 0x0930, 0x0951, 0x0969, 0x0985, 0x098d, 0x09ab,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct mf_rlefont_char_range_s mf_rlefont_arial12_char_ranges[] = {
|
||||||
|
{32, 95, mf_rlefont_arial12_glyph_offsets_0, mf_rlefont_arial12_glyph_data_0},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mf_rlefont_s mf_rlefont_arial12 = {
|
||||||
|
{
|
||||||
|
"Arial Regular 12",
|
||||||
|
"arial_12_arial12_aa",
|
||||||
|
13, /* width */
|
||||||
|
12, /* height */
|
||||||
|
2, /* min x advance */
|
||||||
|
12, /* max x advance */
|
||||||
|
1, /* baseline x */
|
||||||
|
9, /* baseline y */
|
||||||
|
14, /* line height */
|
||||||
|
0, /* flags */
|
||||||
|
63, /* fallback character */
|
||||||
|
&mf_rlefont_character_width,
|
||||||
|
&mf_rlefont_render_character,
|
||||||
|
},
|
||||||
|
4, /* version */
|
||||||
|
mf_rlefont_arial12_dictionary_data,
|
||||||
|
mf_rlefont_arial12_dictionary_offsets,
|
||||||
|
96, /* rle dict count */
|
||||||
|
135, /* total dict count */
|
||||||
|
1, /* char range count */
|
||||||
|
mf_rlefont_arial12_char_ranges,
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef MF_INCLUDED_FONTS
|
||||||
|
/* List entry for searching fonts by name. */
|
||||||
|
static const struct mf_font_list_s mf_rlefont_arial12_listentry = {
|
||||||
|
MF_INCLUDED_FONTS,
|
||||||
|
(struct mf_font_s*)&mf_rlefont_arial12
|
||||||
|
};
|
||||||
|
#undef MF_INCLUDED_FONTS
|
||||||
|
#define MF_INCLUDED_FONTS (&mf_rlefont_arial12_listentry)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* End of automatically generated font definition for arial12. */
|
||||||
|
|
308
resources/arial__14_arial14_aa.c
Normal file
308
resources/arial__14_arial14_aa.c
Normal file
@ -0,0 +1,308 @@
|
|||||||
|
|
||||||
|
|
||||||
|
/* Start of automatically generated font definition for arial14. */
|
||||||
|
|
||||||
|
#ifndef MF_RLEFONT_INTERNALS
|
||||||
|
#define MF_RLEFONT_INTERNALS
|
||||||
|
#endif
|
||||||
|
#include "mf_rlefont.h"
|
||||||
|
|
||||||
|
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||||
|
#error The font file is not compatible with this version of mcufont.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_arial14_dictionary_data[365] = {
|
||||||
|
0x06, 0x02, 0x0e, 0x04, 0x0a, 0x0b, 0x08, 0xcd, 0xc6, 0xc2, 0x0c, 0x07, 0x80, 0xc5, 0x09, 0x12,
|
||||||
|
0xc2, 0x02, 0xc4, 0x80, 0x0d, 0xc5, 0x80, 0xc4, 0xcb, 0xca, 0xc9, 0x01, 0x84, 0xcb, 0xca, 0x10,
|
||||||
|
0x0c, 0xce, 0xc9, 0xc7, 0xcd, 0xce, 0xcb, 0x40, 0x21, 0x85, 0xc9, 0x05, 0xce, 0xcb, 0xc7, 0xcb,
|
||||||
|
0x80, 0x01, 0xc9, 0x03, 0xc8, 0xcb, 0xc8, 0xcc, 0x83, 0xc3, 0xce, 0xc2, 0xc9, 0xcc, 0xc2, 0xcd,
|
||||||
|
0xc3, 0xc9, 0xcc, 0xc2, 0xcd, 0xca, 0xcc, 0xc9, 0x0d, 0xc1, 0x80, 0xc3, 0x80, 0x01, 0xc1, 0xc2,
|
||||||
|
0xcc, 0xc1, 0x80, 0xc2, 0xc4, 0xce, 0x01, 0xcb, 0xcc, 0xc2, 0xca, 0xcb, 0xc9, 0x05, 0xcc, 0xc9,
|
||||||
|
0xcb, 0xc2, 0xc1, 0xc3, 0xc7, 0xcc, 0xc1, 0x06, 0xc4, 0xcd, 0xc1, 0xc2, 0xc5, 0xcd, 0xc5, 0xcb,
|
||||||
|
0xce, 0xc5, 0x01, 0xc1, 0xca, 0x2e, 0xc8, 0xca, 0xc6, 0x80, 0xc2, 0x80, 0xda, 0xce, 0xc6, 0x01,
|
||||||
|
0xcd, 0xc9, 0xce, 0xca, 0x01, 0xc8, 0xc8, 0xcd, 0xce, 0xc2, 0xcd, 0xc8, 0xc6, 0xcd, 0xcd, 0x80,
|
||||||
|
0x11, 0x80, 0xc3, 0x82, 0xcb, 0xc5, 0xc6, 0xce, 0x01, 0xce, 0xcd, 0x01, 0xcc, 0xc3, 0x01, 0xcc,
|
||||||
|
0xca, 0xc7, 0xcb, 0x01, 0xc3, 0xc5, 0xce, 0xce, 0xcc, 0xc3, 0xca, 0x2f, 0xc4, 0x01, 0xce, 0xc3,
|
||||||
|
0x27, 0x6a, 0x27, 0x6a, 0x27, 0x6a, 0x27, 0x6a, 0x75, 0x2c, 0x18, 0x32, 0x2c, 0x65, 0x1e, 0x44,
|
||||||
|
0x25, 0x20, 0x5c, 0x20, 0x5c, 0x22, 0x27, 0x21, 0x57, 0x07, 0x19, 0x51, 0x1b, 0x44, 0x25, 0x07,
|
||||||
|
0x27, 0x0d, 0x07, 0x27, 0x0d, 0x0e, 0x01, 0x44, 0x20, 0x44, 0x20, 0x44, 0x0d, 0x01, 0x2e, 0x6d,
|
||||||
|
0x07, 0x23, 0x5f, 0x01, 0x01, 0x21, 0x01, 0x19, 0x04, 0x2e, 0x25, 0x51, 0x1e, 0x5c, 0x25, 0x51,
|
||||||
|
0x1e, 0x5c, 0x0c, 0x0b, 0x21, 0x5e, 0x38, 0x28, 0x26, 0x27, 0x68, 0x27, 0x68, 0x27, 0x5e, 0x38,
|
||||||
|
0x02, 0x0e, 0x2f, 0x01, 0x01, 0x68, 0x1d, 0x46, 0x68, 0x1d, 0x46, 0x68, 0x1d, 0x46, 0x68, 0x1d,
|
||||||
|
0x46, 0x68, 0x2e, 0x44, 0x28, 0x21, 0x0d, 0x07, 0x1b, 0x28, 0x21, 0x0d, 0x07, 0x38, 0x0e, 0x07,
|
||||||
|
0x1e, 0x44, 0x02, 0x21, 0x27, 0x04, 0x43, 0x09, 0x6e, 0x01, 0x2e, 0x6b, 0x2e, 0x6b, 0x2e, 0x2d,
|
||||||
|
0x48, 0x23, 0x24, 0x01, 0x0d, 0x01, 0x1e, 0x23, 0x02, 0x0b, 0x0e, 0x1d, 0x37, 0x67, 0x02, 0x0b,
|
||||||
|
0x0e, 0x2f, 0x01, 0x23, 0x5f, 0x54, 0x6f, 0x1e, 0x08, 0x07, 0x27, 0x0e, 0x08, 0x01, 0x1c, 0x22,
|
||||||
|
0x19, 0x01, 0x22, 0x4d, 0x0f, 0x0a, 0x27, 0x51, 0x05, 0x0c, 0x06, 0x0c, 0x00, 0x02, 0x00, 0x21,
|
||||||
|
0x44, 0x26, 0x01, 0x0a, 0x43, 0x0a, 0x43, 0x0a, 0x43, 0x0a, 0x43, 0x2a, 0x18,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_arial14_dictionary_offsets[148] = {
|
||||||
|
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
|
||||||
|
0x0009, 0x000b, 0x000c, 0x000e, 0x000f, 0x0010, 0x0012, 0x0014,
|
||||||
|
0x0015, 0x0017, 0x0019, 0x001c, 0x001d, 0x001f, 0x0020, 0x0021,
|
||||||
|
0x0023, 0x0025, 0x0027, 0x0029, 0x002a, 0x002d, 0x002f, 0x0031,
|
||||||
|
0x0033, 0x0034, 0x0036, 0x0038, 0x0039, 0x003b, 0x003d, 0x003f,
|
||||||
|
0x0041, 0x0043, 0x0045, 0x0047, 0x0049, 0x004b, 0x004d, 0x004f,
|
||||||
|
0x0051, 0x0054, 0x0057, 0x0059, 0x005b, 0x005d, 0x005e, 0x0060,
|
||||||
|
0x0062, 0x0064, 0x0066, 0x0068, 0x006a, 0x006c, 0x006e, 0x0070,
|
||||||
|
0x0073, 0x0075, 0x0076, 0x0078, 0x007a, 0x007c, 0x007d, 0x0080,
|
||||||
|
0x0082, 0x0084, 0x0086, 0x0088, 0x008a, 0x008c, 0x008e, 0x0090,
|
||||||
|
0x0091, 0x0093, 0x0094, 0x0096, 0x0099, 0x009b, 0x009d, 0x009f,
|
||||||
|
0x00a1, 0x00a3, 0x00a5, 0x00a7, 0x00a9, 0x00ab, 0x00ac, 0x00ae,
|
||||||
|
0x00b0, 0x00b8, 0x00bd, 0x00c1, 0x00c5, 0x00c7, 0x00c9, 0x00cf,
|
||||||
|
0x00d5, 0x00d7, 0x00dc, 0x00de, 0x00e1, 0x00e4, 0x00e6, 0x00e8,
|
||||||
|
0x00ea, 0x00f2, 0x00f4, 0x00f8, 0x00fa, 0x00fe, 0x0100, 0x0102,
|
||||||
|
0x0104, 0x0114, 0x011e, 0x0120, 0x0122, 0x0124, 0x0129, 0x012b,
|
||||||
|
0x012f, 0x0133, 0x0135, 0x0137, 0x013b, 0x013d, 0x0148, 0x014b,
|
||||||
|
0x014d, 0x014f, 0x0151, 0x0154, 0x0156, 0x0158, 0x015a, 0x015d,
|
||||||
|
0x015f, 0x0161, 0x0163, 0x016d,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_arial14_glyph_data_0[2988] = {
|
||||||
|
0x04, 0x00, 0x10, 0x04, 0x67, 0x89, 0x27, 0x89, 0x27, 0x89, 0x27, 0x2c, 0x27, 0x2a, 0x9c, 0x08,
|
||||||
|
0x27, 0x9e, 0x07, 0x06, 0x1c, 0x24, 0x2c, 0x10, 0x05, 0x2d, 0x28, 0x02, 0x22, 0x1c, 0x28, 0x02,
|
||||||
|
0x22, 0x1c, 0x49, 0x68, 0x23, 0x46, 0x0c, 0x6d, 0x01, 0x10, 0x08, 0x24, 0x29, 0x00, 0x8e, 0x23,
|
||||||
|
0x61, 0x08, 0x00, 0x56, 0x1c, 0x6a, 0x61, 0x07, 0x1e, 0x0d, 0x33, 0x09, 0x1e, 0x41, 0x19, 0x80,
|
||||||
|
0x23, 0x05, 0x0a, 0x00, 0x41, 0x23, 0x0d, 0x33, 0x09, 0x21, 0x6d, 0x04, 0x37, 0x07, 0x1c, 0x80,
|
||||||
|
0x6d, 0x03, 0x1e, 0x71, 0x0d, 0x19, 0x0e, 0x10, 0x08, 0x38, 0x61, 0x03, 0x1c, 0x71, 0x0c, 0x0f,
|
||||||
|
0x60, 0x85, 0x46, 0x9f, 0x08, 0x05, 0x2c, 0x1e, 0x45, 0x61, 0x03, 0x1c, 0x02, 0x68, 0x08, 0x03,
|
||||||
|
0x1d, 0x72, 0x5f, 0x04, 0x1c, 0x46, 0x09, 0x09, 0x64, 0x1c, 0x61, 0x03, 0x26, 0x1c, 0x61, 0x03,
|
||||||
|
0x45, 0x85, 0x72, 0x04, 0x08, 0x56, 0x0b, 0x23, 0x06, 0x66, 0x60, 0xa0, 0x61, 0x03, 0x10, 0x0c,
|
||||||
|
0x67, 0x06, 0x6c, 0x04, 0x19, 0x6d, 0x03, 0x1b, 0x46, 0x77, 0x49, 0x00, 0x06, 0x09, 0x18, 0x8e,
|
||||||
|
0xf8, 0x01, 0x99, 0x02, 0x4d, 0x46, 0x77, 0x49, 0x07, 0x08, 0x1e, 0x06, 0x6c, 0x04, 0x01, 0x82,
|
||||||
|
0x9c, 0x07, 0x01, 0x0b, 0x60, 0x1e, 0x41, 0x00, 0x5a, 0x01, 0x0b, 0x06, 0x21, 0x0a, 0x05, 0x00,
|
||||||
|
0x0a, 0x06, 0x61, 0x08, 0x4d, 0x71, 0x0c, 0x19, 0x5a, 0x01, 0x0b, 0x06, 0x4d, 0x6d, 0x76, 0x46,
|
||||||
|
0x0b, 0x60, 0x10, 0x09, 0x24, 0x53, 0x60, 0xa0, 0x0e, 0x06, 0x01, 0x0c, 0x08, 0x00, 0x93, 0x6e,
|
||||||
|
0x2a, 0x23, 0x40, 0x55, 0x02, 0x23, 0x61, 0x0f, 0x63, 0x1c, 0x4a, 0x04, 0x9f, 0x00, 0x07, 0x02,
|
||||||
|
0x18, 0x26, 0x02, 0x71, 0xa3, 0x0f, 0x52, 0x28, 0x86, 0x06, 0xa3, 0x18, 0x46, 0x8f, 0x47, 0x0d,
|
||||||
|
0x0e, 0x04, 0x18, 0x71, 0x36, 0x9f, 0x01, 0x07, 0x09, 0x10, 0x03, 0x2d, 0x5b, 0x27, 0x5b, 0x27,
|
||||||
|
0x49, 0x2e, 0x02, 0x0b, 0x10, 0x05, 0x24, 0x47, 0x27, 0x6a, 0x1d, 0x71, 0x0d, 0x27, 0x0a, 0x08,
|
||||||
|
0x18, 0x7d, 0x1c, 0x46, 0x68, 0x2e, 0x5c, 0x20, 0x01, 0x68, 0x18, 0x7d, 0x9c, 0x08, 0x2e, 0x71,
|
||||||
|
0x0d, 0x1a, 0x6a, 0x27, 0x47, 0x10, 0x05, 0x67, 0x3e, 0x27, 0x56, 0x1a, 0x3f, 0x2e, 0x61, 0x43,
|
||||||
|
0x72, 0x27, 0x45, 0x96, 0x5c, 0x20, 0x45, 0x96, 0x72, 0x00, 0x9c, 0x43, 0x77, 0x2e, 0x56, 0x27,
|
||||||
|
0x3e, 0x10, 0x05, 0x24, 0x3e, 0x1d, 0x06, 0x42, 0x5a, 0x1d, 0x06, 0x60, 0x01, 0x1d, 0x0a, 0x03,
|
||||||
|
0x4f, 0x10, 0x08, 0x19, 0x75, 0x5a, 0x27, 0x5a, 0x27, 0x5a, 0x23, 0x71, 0x33, 0x06, 0x1c, 0x5a,
|
||||||
|
0x27, 0x5a, 0x27, 0x5a, 0x10, 0x04, 0x1e, 0x75, 0x32, 0x2c, 0x95, 0x10, 0x05, 0x1e, 0x32, 0x61,
|
||||||
|
0xff, 0x68, 0x10, 0x04, 0x1e, 0x75, 0x32, 0x2c, 0x10, 0x04, 0x24, 0x29, 0x27, 0x9e, 0x0c, 0x20,
|
||||||
|
0x41, 0x27, 0x06, 0x43, 0x0a, 0x04, 0x27, 0x0e, 0x96, 0x29, 0x00, 0x9c, 0x06, 0x27, 0x0d, 0x02,
|
||||||
|
0x10, 0x08, 0x67, 0x58, 0x0e, 0x92, 0x1c, 0x0a, 0x0b, 0x50, 0x1f, 0x1e, 0x5c, 0x25, 0xa6, 0x21,
|
||||||
|
0x72, 0x38, 0x45, 0x1e, 0x65, 0x38, 0x5c, 0x85, 0x65, 0x38, 0x5c, 0x85, 0x72, 0x38, 0x45, 0x1e,
|
||||||
|
0x5c, 0x25, 0xa6, 0x1e, 0x0b, 0x0b, 0x50, 0x1f, 0x23, 0x58, 0x0e, 0x92, 0x10, 0x08, 0x24, 0x46,
|
||||||
|
0x3f, 0x1d, 0x47, 0x68, 0x1c, 0x04, 0x2f, 0x68, 0x1c, 0x04, 0x6e, 0x8c, 0x8c, 0x8c, 0x68, 0x10,
|
||||||
|
0x08, 0x9d, 0x03, 0xe5, 0x72, 0x27, 0x65, 0x1d, 0x46, 0x64, 0x1c, 0x46, 0x2c, 0x1c, 0x46, 0x6f,
|
||||||
|
0x1d, 0x02, 0x64, 0x1c, 0x46, 0x64, 0x2e, 0x07, 0x33, 0x01, 0x10, 0x08, 0x67, 0x58, 0x6c, 0x07,
|
||||||
|
0x1c, 0x4c, 0x50, 0x5e, 0x21, 0x5c, 0x86, 0x2a, 0x1d, 0x04, 0x57, 0x1c, 0x66, 0x0b, 0x96, 0x01,
|
||||||
|
0x4a, 0x27, 0x45, 0x94, 0x49, 0x19, 0x26, 0x9a, 0x5f, 0x50, 0x5f, 0x9b, 0x64, 0x10, 0x08, 0x1e,
|
||||||
|
0x9c, 0x0b, 0x2e, 0x26, 0x0b, 0x2e, 0x0d, 0x89, 0x1d, 0x5a, 0x70, 0x23, 0x71, 0x80, 0x70, 0x23,
|
||||||
|
0x6d, 0x06, 0x00, 0x70, 0x23, 0x39, 0x19, 0x70, 0x1e, 0x6d, 0x33, 0x02, 0x1d, 0x70, 0x27, 0x70,
|
||||||
|
0x10, 0x08, 0x67, 0x05, 0x3b, 0x0b, 0x23, 0x5a, 0x27, 0x35, 0x27, 0x31, 0x0e, 0x2f, 0x9a, 0x5c,
|
||||||
|
0x08, 0x50, 0x6f, 0x27, 0x26, 0x96, 0x02, 0x68, 0x21, 0x26, 0x86, 0x26, 0x52, 0x46, 0x5f, 0x50,
|
||||||
|
0x64, 0x9b, 0x9f, 0x10, 0x08, 0x18, 0x9c, 0x0e, 0x0e, 0x4f, 0x1e, 0x37, 0x0d, 0x02, 0x01, 0x42,
|
||||||
|
0x93, 0x87, 0x72, 0x27, 0x06, 0x0c, 0x65, 0x60, 0x9a, 0x07, 0x2f, 0x54, 0x0b, 0x0b, 0x1e, 0x06,
|
||||||
|
0xe5, 0x45, 0x85, 0x45, 0x86, 0x45, 0x9a, 0x0b, 0x0b, 0x54, 0x2c, 0x23, 0x58, 0x0e, 0x8f, 0x10,
|
||||||
|
0x08, 0x2d, 0x05, 0x33, 0x20, 0x4e, 0x2e, 0x30, 0x2e, 0x8e, 0x87, 0x3a, 0x27, 0x5e, 0x1d, 0x28,
|
||||||
|
0x01, 0x9c, 0x0b, 0x2e, 0x6d, 0x43, 0x1f, 0x10, 0x08, 0x67, 0x4b, 0x0e, 0x64, 0x1c, 0x2c, 0x01,
|
||||||
|
0x41, 0x07, 0x4d, 0xd4, 0x04, 0x19, 0x39, 0x23, 0x2c, 0x01, 0x41, 0x07, 0x23, 0x8e, 0xff, 0x0b,
|
||||||
|
0x1e, 0x46, 0x9f, 0x54, 0x6f, 0x1e, 0x6b, 0x19, 0x45, 0x85, 0x72, 0x38, 0x45, 0x52, 0x46, 0x2f,
|
||||||
|
0x54, 0x0b, 0x0b, 0x1e, 0x71, 0x0b, 0x0e, 0x8f, 0x10, 0x08, 0x2d, 0x71, 0x0b, 0x6c, 0x07, 0x1e,
|
||||||
|
0x46, 0x8f, 0x47, 0x07, 0x1e, 0x72, 0x38, 0x53, 0x1e, 0x72, 0x38, 0x26, 0x52, 0x46, 0x9f, 0x54,
|
||||||
|
0x36, 0x94, 0x71, 0x0c, 0x73, 0x28, 0x20, 0x26, 0x96, 0x3a, 0x93, 0x05, 0x01, 0x05, 0x22, 0x23,
|
||||||
|
0xa5, 0x0f, 0x1f, 0x10, 0x04, 0x79, 0x10, 0x04, 0x79, 0x95, 0x10, 0x08, 0x1b, 0x75, 0x3d, 0x06,
|
||||||
|
0x1c, 0x04, 0x0a, 0x1f, 0x9a, 0xa5, 0x1f, 0x1c, 0x04, 0xa3, 0x27, 0xa5, 0x1f, 0x27, 0x04, 0x0a,
|
||||||
|
0x1f, 0x96, 0x3d, 0x06, 0x10, 0x08, 0x27, 0x75, 0x71, 0x33, 0x06, 0x24, 0x24, 0x71, 0x33, 0x06,
|
||||||
|
0x10, 0x08, 0x59, 0x74, 0x03, 0x27, 0xa5, 0x6a, 0x27, 0xa5, 0x1f, 0x96, 0x08, 0x0f, 0x06, 0x1c,
|
||||||
|
0xa5, 0x1f, 0x9a, 0xa5, 0x0c, 0x05, 0x1c, 0x74, 0x03, 0x10, 0x08, 0x9d, 0x26, 0x86, 0x8b, 0x6b,
|
||||||
|
0x1d, 0x04, 0x5e, 0x1c, 0x02, 0x92, 0x9c, 0x0a, 0x27, 0x35, 0x1c, 0x24, 0x64, 0x10, 0x0e, 0x19,
|
||||||
|
0x24, 0x56, 0x66, 0x0d, 0x0a, 0x05, 0x4d, 0x46, 0x4a, 0x06, 0xa7, 0x02, 0x65, 0x0a, 0x4d, 0x4c,
|
||||||
|
0x4d, 0x46, 0x0b, 0x08, 0x38, 0x56, 0x00, 0x61, 0x6c, 0x72, 0x05, 0x8e, 0x86, 0x0c, 0x76, 0x0a,
|
||||||
|
0x4f, 0x47, 0x0f, 0xa7, 0x0b, 0x04, 0x46, 0x0e, 0x00, 0x26, 0x25, 0x30, 0x19, 0x0a, 0x05, 0x71,
|
||||||
|
0x0c, 0x00, 0x39, 0x38, 0x5a, 0x19, 0x3f, 0x71, 0x0d, 0x37, 0x0a, 0x38, 0x0d, 0x07, 0x00, 0xa5,
|
||||||
|
0x00, 0x46, 0x80, 0x05, 0x77, 0x4b, 0x22, 0x55, 0x02, 0x38, 0x35, 0x61, 0x6c, 0x04, 0x0c, 0x0e,
|
||||||
|
0x4f, 0x1b, 0x3c, 0x04, 0x21, 0x41, 0x05, 0x38, 0x04, 0x60, 0x04, 0x01, 0x00, 0x50, 0x08, 0x8d,
|
||||||
|
0x46, 0x70, 0x0e, 0x0f, 0x73, 0x08, 0x25, 0x09, 0x00, 0x24, 0x5b, 0x07, 0x2e, 0x2c, 0x0d, 0x1d,
|
||||||
|
0x5c, 0x8e, 0x04, 0x1c, 0x39, 0x37, 0x0a, 0x1c, 0x1f, 0x00, 0x26, 0x02, 0x1e, 0x26, 0x86, 0x9f,
|
||||||
|
0x1e, 0x0a, 0x2b, 0x0e, 0xa8, 0x04, 0x38, 0x02, 0x22, 0x18, 0x07, 0x0e, 0x4d, 0x0b, 0x0b, 0x18,
|
||||||
|
0x4e, 0x4d, 0x28, 0x02, 0x10, 0x09, 0x2d, 0xe2, 0x31, 0x03, 0x1e, 0xa1, 0x58, 0x0e, 0x1e, 0x22,
|
||||||
|
0x38, 0x26, 0x85, 0xa1, 0x58, 0x07, 0x1e, 0x33, 0x08, 0x1e, 0xa1, 0x01, 0x07, 0x22, 0x21, 0x22,
|
||||||
|
0x1b, 0x64, 0x21, 0x22, 0x1b, 0x0d, 0x07, 0x21, 0xa1, 0x01, 0x07, 0x0f, 0x94, 0x3b, 0x31, 0x04,
|
||||||
|
0x10, 0x0a, 0x24, 0x3d, 0x66, 0x0d, 0x07, 0x1e, 0x02, 0x2f, 0x02, 0x01, 0x53, 0x0a, 0x21, 0x2c,
|
||||||
|
0x38, 0x71, 0x77, 0x4d, 0x5c, 0x87, 0x26, 0x96, 0x26, 0x20, 0x44, 0x04, 0x4d, 0x06, 0x02, 0x18,
|
||||||
|
0x2c, 0x1b, 0x45, 0x04, 0x4d, 0x71, 0x2f, 0x02, 0x01, 0x53, 0x0a, 0x1e, 0x74, 0x0e, 0x0f, 0x0d,
|
||||||
|
0x07, 0x10, 0x0a, 0x67, 0x0e, 0x69, 0x73, 0x05, 0x1e, 0x5e, 0x46, 0x06, 0x22, 0x21, 0x8d, 0x62,
|
||||||
|
0x21, 0x8d, 0x02, 0x68, 0x18, 0x8d, 0xa2, 0x00, 0x8d, 0xa2, 0x00, 0x8d, 0x03, 0x68, 0x18, 0x8d,
|
||||||
|
0x62, 0x21, 0x5e, 0x46, 0x06, 0x57, 0x18, 0x0e, 0x69, 0x31, 0x04, 0x10, 0x09, 0x67, 0x0d, 0x2b,
|
||||||
|
0x22, 0x21, 0x0d, 0x07, 0x27, 0x0d, 0x7f, 0x33, 0x1e, 0x0d, 0x7f, 0x7f, 0x33, 0x09, 0x10, 0x09,
|
||||||
|
0x67, 0x0d, 0x2b, 0x0e, 0x1e, 0x0d, 0x07, 0x27, 0x0d, 0x7f, 0x3b, 0x68, 0x1e, 0x0d, 0x7f, 0x7f,
|
||||||
|
0x07, 0x10, 0x0b, 0x67, 0x46, 0x08, 0x66, 0x31, 0x03, 0x21, 0x99, 0x0b, 0x03, 0x46, 0x07, 0x0f,
|
||||||
|
0x04, 0x18, 0x42, 0x1b, 0x37, 0x0a, 0x4d, 0xa2, 0x52, 0x45, 0x20, 0x45, 0x25, 0x04, 0x3b, 0x4d,
|
||||||
|
0xa2, 0x26, 0x18, 0x0a, 0x0b, 0x4d, 0x26, 0x18, 0x99, 0x0b, 0x03, 0x01, 0x01, 0x65, 0x0c, 0x18,
|
||||||
|
0x46, 0x51, 0x0e, 0x31, 0x06, 0x10, 0x0a, 0x67, 0x0d, 0x07, 0x1b, 0x91, 0x00, 0x28, 0x21, 0x0d,
|
||||||
|
0x07, 0x1b, 0x28, 0x21, 0x66, 0x33, 0x21, 0x0d, 0x07, 0x1b, 0x91, 0x00, 0x91, 0x00, 0x28, 0x10,
|
||||||
|
0x04, 0x67, 0xaa, 0x18, 0xaa, 0x10, 0x07, 0x19, 0x24, 0x97, 0x97, 0x97, 0x6b, 0x1e, 0x07, 0x0a,
|
||||||
|
0x19, 0x30, 0x23, 0x05, 0x63, 0x02, 0x4e, 0x23, 0x61, 0x0e, 0x60, 0x01, 0x10, 0x09, 0x67, 0xa1,
|
||||||
|
0x71, 0x2f, 0x21, 0xa1, 0x03, 0x2f, 0x1e, 0x22, 0x71, 0x2f, 0x23, 0x22, 0x02, 0x2f, 0x18, 0xd4,
|
||||||
|
0x30, 0x68, 0x18, 0xd4, 0xa3, 0x0b, 0x82, 0x4d, 0xd4, 0x0c, 0x54, 0x60, 0x23, 0xa1, 0x26, 0x06,
|
||||||
|
0x1e, 0xa1, 0x61, 0x68, 0x21, 0x22, 0x38, 0x6d, 0x82, 0x10, 0x08, 0x67, 0x7c, 0x7c, 0x7c, 0x7c,
|
||||||
|
0x7c, 0x7c, 0x7c, 0x7c, 0x7c, 0x33, 0x04, 0x10, 0x0c, 0x67, 0x0e, 0x68, 0x1b, 0x28, 0x34, 0x64,
|
||||||
|
0x1b, 0x0b, 0x0d, 0x34, 0x62, 0x19, 0x46, 0x6f, 0x34, 0x05, 0x3f, 0x19, 0x06, 0x5a, 0x34, 0x05,
|
||||||
|
0x08, 0x08, 0x19, 0x0b, 0x74, 0x34, 0x05, 0x53, 0x00, 0x99, 0x00, 0x2a, 0x1b, 0x57, 0x77, 0x06,
|
||||||
|
0x08, 0x00, 0x0a, 0x34, 0x05, 0x37, 0x39, 0x6e, 0x2a, 0x1b, 0x57, 0x04, 0x6c, 0x19, 0x0a, 0x34,
|
||||||
|
0x05, 0x19, 0x2f, 0x19, 0x2a, 0x10, 0x0a, 0x67, 0x31, 0x1b, 0x28, 0x21, 0x6c, 0x05, 0x38, 0x28,
|
||||||
|
0x21, 0x0e, 0x06, 0x0c, 0x86, 0x28, 0x21, 0x0e, 0x05, 0x05, 0x08, 0x19, 0x28, 0x7d, 0x0b, 0x6e,
|
||||||
|
0x28, 0x7d, 0x02, 0x0b, 0x00, 0x28, 0x7d, 0x61, 0x06, 0x28, 0x7d, 0x46, 0x0c, 0x5b, 0x7d, 0x19,
|
||||||
|
0x05, 0x66, 0x7d, 0x38, 0x0a, 0x0f, 0x10, 0x0b, 0x24, 0x3d, 0x66, 0x64, 0x85, 0x02, 0x60, 0x03,
|
||||||
|
0x50, 0x0b, 0x0d, 0x52, 0x2c, 0x4d, 0x6f, 0x4d, 0x5c, 0x04, 0x4d, 0x28, 0x01, 0x1b, 0xa9, 0x4d,
|
||||||
|
0x02, 0x68, 0x1b, 0xa9, 0x1b, 0x71, 0x68, 0x1b, 0x5c, 0x04, 0x4d, 0x28, 0x01, 0x4d, 0x0b, 0x0b,
|
||||||
|
0x4d, 0x6f, 0x18, 0x02, 0x60, 0xa7, 0x4b, 0x0d, 0x94, 0x01, 0x09, 0x66, 0x64, 0x01, 0x10, 0x09,
|
||||||
|
0x67, 0x0e, 0x3b, 0x1f, 0x1e, 0x5e, 0x19, 0x04, 0x22, 0x21, 0x8d, 0x2c, 0x21, 0x8d, 0x2c, 0x21,
|
||||||
|
0x5e, 0x46, 0x5b, 0x04, 0x21, 0x0e, 0x3b, 0x0c, 0x06, 0x1e, 0x5e, 0x2e, 0x5e, 0x2e, 0x5e, 0x2e,
|
||||||
|
0x5e, 0x10, 0x0b, 0x24, 0x3d, 0x66, 0x64, 0x52, 0x71, 0x2f, 0x03, 0x50, 0x0b, 0x0d, 0x52, 0x6f,
|
||||||
|
0x4d, 0x5f, 0x1b, 0x71, 0x68, 0x4d, 0x6b, 0x1b, 0x28, 0x01, 0x4d, 0x45, 0x02, 0x1b, 0x28, 0x01,
|
||||||
|
0x4d, 0x45, 0x02, 0x38, 0x71, 0x68, 0x4d, 0x5b, 0x01, 0x4d, 0x6f, 0x19, 0x05, 0x08, 0x01, 0x6f,
|
||||||
|
0x4d, 0x71, 0x2f, 0x02, 0x03, 0x0c, 0x0f, 0x0e, 0x94, 0x3d, 0x66, 0x31, 0x31, 0x20, 0x01, 0x06,
|
||||||
|
0x01, 0x10, 0x0a, 0x67, 0x0e, 0x3b, 0x60, 0x94, 0x5e, 0x00, 0x71, 0x89, 0x8a, 0x52, 0x8d, 0x28,
|
||||||
|
0x52, 0x5e, 0x00, 0x71, 0x6f, 0x21, 0x0e, 0x3b, 0x2f, 0x85, 0x5e, 0x01, 0x62, 0x02, 0x1e, 0x5e,
|
||||||
|
0x00, 0x37, 0x0d, 0x94, 0x8d, 0x0c, 0x0c, 0x21, 0x8d, 0x02, 0x2f, 0x10, 0x09, 0x2d, 0x46, 0x08,
|
||||||
|
0x66, 0x2f, 0x9a, 0x42, 0x6e, 0x02, 0x4a, 0x00, 0x7d, 0x19, 0x02, 0x68, 0x18, 0x6d, 0x0c, 0x03,
|
||||||
|
0x2e, 0x47, 0x0f, 0x60, 0x06, 0xa0, 0x02, 0x07, 0x0a, 0x0f, 0x0d, 0x96, 0x02, 0x9f, 0x18, 0xa9,
|
||||||
|
0x1b, 0x0b, 0x08, 0x21, 0x89, 0x03, 0x01, 0x01, 0x05, 0x77, 0x18, 0x46, 0x09, 0x66, 0x31, 0x03,
|
||||||
|
0x10, 0x09, 0x2d, 0x0a, 0x0f, 0x33, 0x04, 0x23, 0x97, 0x97, 0x97, 0x97, 0x6b, 0x10, 0x0a, 0x1c,
|
||||||
|
0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x21, 0x0d, 0x07, 0x1b, 0x6b, 0x18, 0x4c, 0x1b, 0x3a, 0x21,
|
||||||
|
0x28, 0x06, 0x01, 0x01, 0x72, 0x05, 0x1e, 0xa5, 0x0e, 0x73, 0x05, 0x10, 0x09, 0x2d, 0x2c, 0x4d,
|
||||||
|
0x28, 0x01, 0x4d, 0x28, 0x01, 0x1b, 0x2c, 0x21, 0x92, 0x38, 0x5c, 0x04, 0x21, 0x40, 0x38, 0x30,
|
||||||
|
0x21, 0x71, 0x68, 0x19, 0x0d, 0x07, 0x1e, 0x6d, 0x08, 0x00, 0xa9, 0x23, 0x6b, 0x5d, 0x19, 0x93,
|
||||||
|
0x28, 0x04, 0x1d, 0x0a, 0x6c, 0x2e, 0x26, 0x08, 0x10, 0x0d, 0x2d, 0x2c, 0x38, 0x28, 0x09, 0x38,
|
||||||
|
0x6b, 0x00, 0x30, 0x19, 0x37, 0x0d, 0x0d, 0x38, 0x5d, 0x19, 0x45, 0x25, 0x0d, 0x28, 0x25, 0x1f,
|
||||||
|
0x38, 0x57, 0x8e, 0x6d, 0x06, 0x00, 0x5c, 0x02, 0x38, 0x2a, 0x06, 0x0b, 0x00, 0x70, 0x00, 0xa6,
|
||||||
|
0x38, 0xa6, 0x35, 0x00, 0x3c, 0x37, 0x08, 0x1b, 0x5c, 0x01, 0x0e, 0x25, 0x0e, 0x53, 0x04, 0x4d,
|
||||||
|
0x0d, 0x0c, 0x0d, 0x38, 0x42, 0x0f, 0x4d, 0x37, 0x0f, 0x09, 0x38, 0x5b, 0x0b, 0x18, 0x05, 0x22,
|
||||||
|
0x38, 0x5c, 0x07, 0x10, 0x09, 0x2d, 0x02, 0x92, 0x1b, 0x4e, 0x21, 0x5b, 0x6e, 0x37, 0x0d, 0x9a,
|
||||||
|
0x0b, 0x82, 0x05, 0x68, 0x1e, 0x46, 0x60, 0x5e, 0x1c, 0x28, 0x0b, 0x9c, 0x0f, 0x63, 0x1c, 0x28,
|
||||||
|
0x04, 0x89, 0x23, 0x02, 0x92, 0x00, 0x45, 0x07, 0x1e, 0x89, 0x38, 0x07, 0x68, 0x4d, 0x61, 0x80,
|
||||||
|
0x1b, 0x0b, 0x82, 0x10, 0x09, 0x1b, 0x9c, 0x80, 0x1b, 0x0a, 0x82, 0x4d, 0x99, 0x0a, 0x38, 0x05,
|
||||||
|
0x68, 0x21, 0x04, 0x22, 0x46, 0x92, 0x1e, 0x37, 0x80, 0x42, 0x1c, 0x99, 0x0d, 0x63, 0x1d, 0x26,
|
||||||
|
0x07, 0x1b, 0x93, 0x87, 0x44, 0x87, 0x44, 0x87, 0x44, 0x04, 0x10, 0x09, 0x2d, 0x5c, 0x33, 0x01,
|
||||||
|
0x1d, 0x99, 0x0a, 0x2e, 0x4a, 0x01, 0x1d, 0x07, 0x63, 0x1d, 0x26, 0x04, 0x1d, 0x02, 0x92, 0x2e,
|
||||||
|
0x89, 0x9c, 0x82, 0x1d, 0x05, 0x68, 0x2e, 0x0b, 0x33, 0x68, 0x10, 0x04, 0x1e, 0x93, 0xa3, 0x1d,
|
||||||
|
0x90, 0x03, 0x2e, 0x90, 0xa3, 0x10, 0x04, 0x2d, 0x0d, 0xa7, 0x9c, 0x06, 0x27, 0x29, 0x1a, 0x80,
|
||||||
|
0x27, 0x0a, 0x04, 0x27, 0x06, 0x43, 0x41, 0x1a, 0x3e, 0x27, 0x9e, 0x29, 0x10, 0x04, 0x2d, 0x0b,
|
||||||
|
0xff, 0x27, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x8b, 0x26, 0x2e, 0x0b, 0xff,
|
||||||
|
0x10, 0x07, 0x24, 0x07, 0x0e, 0x96, 0x5f, 0x08, 0x1d, 0x06, 0x0a, 0x8e, 0xa0, 0x0d, 0x76, 0x0a,
|
||||||
|
0x07, 0x23, 0x65, 0x19, 0x04, 0x80, 0x10, 0x08, 0x00, 0x32, 0x32, 0x45, 0x33, 0x0e, 0x10, 0x05,
|
||||||
|
0x2d, 0x01, 0x92, 0x2e, 0x71, 0x0d, 0x10, 0x08, 0x75, 0x04, 0x0c, 0x0e, 0x0f, 0x0c, 0x03, 0x1e,
|
||||||
|
0x02, 0x22, 0x00, 0x02, 0x6f, 0xa4, 0x1e, 0x46, 0x06, 0x09, 0x0b, 0x73, 0x1e, 0x99, 0x0c, 0x07,
|
||||||
|
0x04, 0x51, 0x1e, 0x6b, 0x19, 0x40, 0x1e, 0x05, 0x77, 0x01, 0x5b, 0x0d, 0x1e, 0x37, 0x0e, 0x60,
|
||||||
|
0x5b, 0x01, 0x10, 0x08, 0x2d, 0x81, 0x30, 0x2f, 0x00, 0x93, 0x0d, 0x02, 0x02, 0x4e, 0x93, 0x04,
|
||||||
|
0x19, 0x26, 0x93, 0x86, 0x48, 0xa8, 0x86, 0x5c, 0x02, 0xa8, 0x04, 0x19, 0x72, 0x93, 0x3e, 0x02,
|
||||||
|
0x64, 0x93, 0x07, 0x0e, 0x2f, 0x10, 0x07, 0x75, 0x4b, 0x0e, 0x2f, 0x1c, 0x6f, 0x54, 0x0b, 0x08,
|
||||||
|
0x1e, 0x26, 0x96, 0x65, 0x27, 0x65, 0x27, 0xa9, 0x27, 0x6f, 0x54, 0x5d, 0x23, 0x02, 0x36, 0x8f,
|
||||||
|
0x10, 0x08, 0x1e, 0xa4, 0xa4, 0x1e, 0x71, 0x36, 0x0c, 0x40, 0x84, 0x05, 0x73, 0x1e, 0x72, 0x86,
|
||||||
|
0x40, 0x1e, 0x51, 0x38, 0xa6, 0x21, 0x51, 0x38, 0xa6, 0x21, 0x72, 0x86, 0x3a, 0x84, 0x04, 0x73,
|
||||||
|
0x23, 0x02, 0x36, 0x0c, 0x3a, 0x10, 0x08, 0x75, 0x58, 0x0e, 0x64, 0x01, 0x23, 0x4e, 0x54, 0x4c,
|
||||||
|
0x1e, 0x49, 0x19, 0x45, 0x1e, 0x06, 0x33, 0x94, 0x65, 0x27, 0x26, 0x20, 0x6d, 0x4f, 0x02, 0x62,
|
||||||
|
0x23, 0x4b, 0x0e, 0x0e, 0x4f, 0x10, 0x04, 0x67, 0x06, 0x0e, 0x0f, 0x04, 0x1c, 0x6d, 0x08, 0x2e,
|
||||||
|
0x0d, 0xff, 0x0d, 0x1d, 0x6d, 0x07, 0x83, 0x83, 0x83, 0x83, 0x83, 0x83, 0x10, 0x08, 0x75, 0x02,
|
||||||
|
0x0b, 0x73, 0x30, 0x84, 0x04, 0x6c, 0x1e, 0x72, 0x38, 0x62, 0x1e, 0x3a, 0x38, 0x55, 0x1e, 0x51,
|
||||||
|
0x38, 0x55, 0x1e, 0x72, 0x38, 0x62, 0x84, 0x04, 0x6c, 0x1e, 0x71, 0x0c, 0x31, 0x3a, 0x27, 0x39,
|
||||||
|
0x1e, 0x45, 0x04, 0x71, 0x1f, 0x23, 0x07, 0x66, 0x0d, 0x07, 0x10, 0x08, 0x2d, 0x81, 0x30, 0x31,
|
||||||
|
0x01, 0x93, 0x3e, 0x01, 0x4e, 0x93, 0x04, 0x19, 0x51, 0x93, 0x25, 0x7a, 0x7a, 0x7a, 0x7a, 0x65,
|
||||||
|
0x10, 0x03, 0x98, 0x44, 0x20, 0x81, 0x20, 0x81, 0x20, 0x48, 0x10, 0x03, 0x98, 0x81, 0x20, 0x81,
|
||||||
|
0x20, 0x81, 0x20, 0xa9, 0x1d, 0x07, 0x9f, 0x10, 0x07, 0x2d, 0x81, 0xa7, 0x06, 0x0e, 0x04, 0x1e,
|
||||||
|
0x48, 0x28, 0x76, 0x93, 0x06, 0xa1, 0x93, 0x0f, 0x68, 0x19, 0x93, 0x07, 0x40, 0x1c, 0x48, 0x01,
|
||||||
|
0x5e, 0x93, 0xa7, 0x07, 0x80, 0x93, 0x25, 0x0d, 0x0a, 0x10, 0x03, 0x2d, 0x5c, 0x20, 0x5c, 0x7b,
|
||||||
|
0x7b, 0x7b, 0x7b, 0x02, 0x10, 0x0c, 0x59, 0x44, 0x55, 0x60, 0x47, 0x0e, 0x4f, 0x1b, 0x44, 0x4f,
|
||||||
|
0x45, 0x77, 0x01, 0x4e, 0x1b, 0x44, 0x04, 0x19, 0x4e, 0x19, 0x70, 0x1b, 0x44, 0x6e, 0x6d, 0x7e,
|
||||||
|
0x0c, 0x7e, 0x0c, 0x7e, 0x0c, 0x7e, 0x0c, 0x07, 0x19, 0x51, 0x10, 0x08, 0x59, 0x44, 0x06, 0x66,
|
||||||
|
0x4f, 0x93, 0x3e, 0x02, 0x4e, 0x21, 0x46, 0xa1, 0x51, 0x93, 0x03, 0x19, 0xa6, 0xa8, 0x25, 0xa6,
|
||||||
|
0xa8, 0x25, 0xa6, 0xa8, 0x25, 0xa6, 0xa8, 0x25, 0xa6, 0x10, 0x08, 0x75, 0x4b, 0x0e, 0x2f, 0x1c,
|
||||||
|
0x0d, 0x0a, 0x54, 0x4e, 0x1e, 0x72, 0x86, 0x26, 0x85, 0x51, 0x19, 0x46, 0x68, 0x21, 0x51, 0x19,
|
||||||
|
0x46, 0x68, 0x21, 0x72, 0x86, 0x26, 0x9a, 0x0d, 0x0a, 0x54, 0x6f, 0x9b, 0x9f, 0x10, 0x08, 0x59,
|
||||||
|
0x44, 0x65, 0x8f, 0x93, 0x3f, 0x02, 0x4e, 0x21, 0x46, 0xa1, 0xa9, 0xa8, 0x86, 0x01, 0x68, 0xa8,
|
||||||
|
0x86, 0x48, 0xa8, 0x04, 0x19, 0x49, 0xa8, 0x3e, 0x47, 0x08, 0x93, 0x62, 0x9f, 0x23, 0x81, 0x02,
|
||||||
|
0x10, 0x08, 0x59, 0x71, 0x36, 0x0c, 0x51, 0x84, 0x05, 0x73, 0x1e, 0x72, 0x86, 0x40, 0x1e, 0x51,
|
||||||
|
0x38, 0xa6, 0x21, 0xa6, 0x19, 0xa6, 0x21, 0x04, 0x0e, 0x86, 0x3a, 0x23, 0x4e, 0x01, 0x04, 0x73,
|
||||||
|
0x23, 0x02, 0x36, 0x0c, 0x40, 0xa4, 0xa4, 0xa4, 0x10, 0x05, 0x59, 0x44, 0x08, 0x2f, 0x23, 0x46,
|
||||||
|
0xa3, 0x01, 0x25, 0x93, 0x87, 0x01, 0x68, 0x2e, 0x81, 0x20, 0x48, 0x10, 0x07, 0x75, 0x65, 0x73,
|
||||||
|
0x05, 0x23, 0x3c, 0x6e, 0x28, 0x9a, 0x05, 0x63, 0x27, 0x36, 0x0c, 0x07, 0x02, 0x1c, 0x71, 0x62,
|
||||||
|
0x63, 0x27, 0x1f, 0x1e, 0x55, 0x6e, 0x04, 0x68, 0x1e, 0x61, 0x66, 0x1f, 0x10, 0x04, 0x00, 0x46,
|
||||||
|
0x20, 0x6d, 0x06, 0x27, 0x1f, 0x2e, 0x0b, 0xff, 0x09, 0x2e, 0x1f, 0x27, 0x1f, 0x27, 0x1f, 0x27,
|
||||||
|
0x1f, 0x27, 0x1f, 0x83, 0x96, 0x06, 0x60, 0x10, 0x08, 0x59, 0x5c, 0x88, 0x88, 0x25, 0x51, 0x93,
|
||||||
|
0x03, 0x19, 0x40, 0x84, 0x04, 0x73, 0x23, 0x04, 0x66, 0x0b, 0x51, 0x10, 0x07, 0x59, 0x5d, 0x19,
|
||||||
|
0x37, 0x0a, 0x1e, 0x72, 0x38, 0x57, 0x1e, 0x0e, 0x76, 0x49, 0x1e, 0x37, 0x09, 0x37, 0x0a, 0x1c,
|
||||||
|
0x49, 0x0e, 0x04, 0x1d, 0x92, 0x0e, 0x9c, 0x2f, 0x2e, 0x26, 0x04, 0x10, 0x0a, 0x59, 0x0c, 0x06,
|
||||||
|
0x19, 0x42, 0x19, 0x55, 0x4d, 0x5a, 0x19, 0x0e, 0x0f, 0x01, 0x37, 0x09, 0x4d, 0x53, 0x00, 0x41,
|
||||||
|
0x0d, 0x04, 0x6d, 0x04, 0x18, 0x63, 0x06, 0x09, 0x35, 0x01, 0x0e, 0x52, 0x0b, 0x06, 0x09, 0x06,
|
||||||
|
0x07, 0x0a, 0x56, 0x21, 0x06, 0x0a, 0x0d, 0x02, 0x03, 0x60, 0x07, 0x21, 0x5c, 0x0e, 0x19, 0x0e,
|
||||||
|
0x0f, 0x02, 0x1e, 0x0d, 0x0a, 0x19, 0x0a, 0x0d, 0x10, 0x07, 0x59, 0x5b, 0x02, 0x46, 0x5e, 0x1e,
|
||||||
|
0x4c, 0x00, 0x39, 0x1c, 0x02, 0x92, 0x63, 0x1d, 0x07, 0x0f, 0x07, 0x2e, 0x0a, 0xa3, 0x1d, 0x26,
|
||||||
|
0x07, 0x22, 0x1e, 0x46, 0x64, 0x37, 0x0d, 0x85, 0x37, 0x82, 0x46, 0x5f, 0x10, 0x07, 0x59, 0x09,
|
||||||
|
0x0b, 0x38, 0x39, 0x1e, 0x26, 0x86, 0x0d, 0x05, 0x23, 0x5e, 0x5c, 0x9a, 0x37, 0x0b, 0x00, 0x07,
|
||||||
|
0x0a, 0x1c, 0xa9, 0x0c, 0x05, 0x1d, 0x64, 0x0e, 0xa0, 0x61, 0xa3, 0x1d, 0x71, 0x22, 0x2e, 0x8e,
|
||||||
|
0x1d, 0x46, 0x09, 0x08, 0x1d, 0x02, 0x31, 0xa0, 0x07, 0x59, 0x07, 0x2b, 0x07, 0x2e, 0x07, 0x80,
|
||||||
|
0x1d, 0x26, 0x04, 0x1c, 0x46, 0x92, 0x2e, 0x0b, 0x0b, 0x1d, 0x61, 0x80, 0x1d, 0x26, 0x87, 0x0b,
|
||||||
|
0x2b, 0x0b, 0x10, 0x05, 0x67, 0x61, 0x22, 0x1c, 0x46, 0x68, 0x2e, 0x3c, 0x27, 0x3c, 0x27, 0x53,
|
||||||
|
0x2e, 0x58, 0x09, 0x9c, 0x82, 0x27, 0x0a, 0x43, 0x53, 0x27, 0x3c, 0x27, 0x3c, 0x4d, 0x93, 0x20,
|
||||||
|
0x61, 0x22, 0x10, 0x04, 0x67, 0x6a, 0x78, 0x78, 0x78, 0x10, 0x05, 0x2d, 0x0a, 0x3f, 0x27, 0x70,
|
||||||
|
0x27, 0x55, 0x27, 0x53, 0x27, 0x3c, 0x1a, 0x1f, 0x27, 0x26, 0x87, 0x0d, 0x05, 0x2e, 0x3c, 0x27,
|
||||||
|
0x53, 0x27, 0x55, 0x27, 0x70, 0x2e, 0x0a, 0x0e, 0x04, 0x10, 0x08, 0x24, 0x75, 0x9c, 0x73, 0x06,
|
||||||
|
0x50, 0x07, 0x21, 0x05, 0x06, 0x01, 0x56, 0x73, 0x03, 0x18, 0x46, 0x10,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_arial14_glyph_offsets_0[95] = {
|
||||||
|
0x0000, 0x0003, 0x0018, 0x002a, 0x0058, 0x008f, 0x00d3, 0x010a,
|
||||||
|
0x0115, 0x0136, 0x0152, 0x0162, 0x0175, 0x017c, 0x0183, 0x0189,
|
||||||
|
0x01a1, 0x01cd, 0x01e0, 0x01fb, 0x021e, 0x0241, 0x0264, 0x0290,
|
||||||
|
0x02a8, 0x02d9, 0x0304, 0x0307, 0x030b, 0x0325, 0x0331, 0x034a,
|
||||||
|
0x035e, 0x03c7, 0x03f5, 0x0421, 0x0452, 0x047c, 0x048f, 0x04a2,
|
||||||
|
0x04d6, 0x04f0, 0x04f6, 0x050d, 0x053a, 0x0548, 0x0586, 0x05b7,
|
||||||
|
0x05ef, 0x0612, 0x0652, 0x067c, 0x06b1, 0x06be, 0x06dc, 0x0709,
|
||||||
|
0x0754, 0x0784, 0x07ab, 0x07cb, 0x07d6, 0x07ed, 0x0801, 0x0817,
|
||||||
|
0x081f, 0x0827, 0x0853, 0x0876, 0x0891, 0x08b6, 0x08d6, 0x08ed,
|
||||||
|
0x091b, 0x0931, 0x093b, 0x0948, 0x096a, 0x0975, 0x099b, 0x09ba,
|
||||||
|
0x09de, 0x0a01, 0x0a29, 0x0a3c, 0x0a5d, 0x0a78, 0x0a8c, 0x0aac,
|
||||||
|
0x0ae9, 0x0b0d, 0x0b38, 0x0b53, 0x0b73, 0x0b7a, 0x0b9a,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct mf_rlefont_char_range_s mf_rlefont_arial14_char_ranges[] = {
|
||||||
|
{32, 95, mf_rlefont_arial14_glyph_offsets_0, mf_rlefont_arial14_glyph_data_0},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mf_rlefont_s mf_rlefont_arial14 = {
|
||||||
|
{
|
||||||
|
"Arial Regular 14",
|
||||||
|
"arial__14_arial14_aa",
|
||||||
|
15, /* width */
|
||||||
|
14, /* height */
|
||||||
|
3, /* min x advance */
|
||||||
|
14, /* max x advance */
|
||||||
|
1, /* baseline x */
|
||||||
|
11, /* baseline y */
|
||||||
|
16, /* line height */
|
||||||
|
0, /* flags */
|
||||||
|
63, /* fallback character */
|
||||||
|
&mf_rlefont_character_width,
|
||||||
|
&mf_rlefont_render_character,
|
||||||
|
},
|
||||||
|
4, /* version */
|
||||||
|
mf_rlefont_arial14_dictionary_data,
|
||||||
|
mf_rlefont_arial14_dictionary_offsets,
|
||||||
|
96, /* rle dict count */
|
||||||
|
147, /* total dict count */
|
||||||
|
1, /* char range count */
|
||||||
|
mf_rlefont_arial14_char_ranges,
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef MF_INCLUDED_FONTS
|
||||||
|
/* List entry for searching fonts by name. */
|
||||||
|
static const struct mf_font_list_s mf_rlefont_arial14_listentry = {
|
||||||
|
MF_INCLUDED_FONTS,
|
||||||
|
(struct mf_font_s*)&mf_rlefont_arial14
|
||||||
|
};
|
||||||
|
#undef MF_INCLUDED_FONTS
|
||||||
|
#define MF_INCLUDED_FONTS (&mf_rlefont_arial14_listentry)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* End of automatically generated font definition for arial14. */
|
||||||
|
|
877
resources/token.h
Normal file
877
resources/token.h
Normal file
@ -0,0 +1,877 @@
|
|||||||
|
/**
|
||||||
|
* File generated by the uGFX-Sudio
|
||||||
|
*
|
||||||
|
* Original image file: C:/test_joel/studio/tokenring/resources/token.bmp
|
||||||
|
*/
|
||||||
|
|
||||||
|
static const char token[] = {
|
||||||
|
0x42, 0x4D, 0xE8, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x02, 0x00, 0x00, 0x28, 0x00,
|
||||||
|
0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x9A, 0x33, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x86, 0x00,
|
||||||
|
0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x96, 0x96, 0x96, 0x00, 0x50, 0x59, 0x57, 0x00, 0xBA, 0xC7,
|
||||||
|
0xC8, 0x00, 0xE5, 0xE5, 0xE5, 0x00, 0xC5, 0xD6, 0xD6, 0x00, 0xD9, 0xD9, 0xD9, 0x00, 0x87, 0x88,
|
||||||
|
0x88, 0x00, 0x99, 0x26, 0x00, 0x00, 0x6B, 0x6B, 0xD9, 0x00, 0xD7, 0x62, 0x3A, 0x00, 0x60, 0x63,
|
||||||
|
0x63, 0x00, 0xAA, 0xE9, 0xAA, 0x00, 0xA3, 0xA3, 0xA3, 0x00, 0x79, 0x7B, 0x7A, 0x00, 0x42, 0x46,
|
||||||
|
0x44, 0x00, 0x6E, 0xDA, 0x6E, 0x00, 0xCB, 0xF2, 0xCB, 0x00, 0x3B, 0xB1, 0xFF, 0x00, 0x6E, 0x77,
|
||||||
|
0x77, 0x00, 0xAB, 0xAB, 0xE9, 0x00, 0x7C, 0xCB, 0xFF, 0x00, 0x9D, 0xA2, 0xA3, 0x00, 0xE4, 0x95,
|
||||||
|
0x7A, 0x00, 0x97, 0x97, 0xE4, 0x00, 0x37, 0x3A, 0x3A, 0x00, 0xF3, 0xF3, 0xF3, 0x00, 0x98, 0xE5,
|
||||||
|
0x98, 0x00, 0x00, 0x72, 0xBF, 0x00, 0xD2, 0xE4, 0xE5, 0x00, 0x95, 0xD4, 0xFF, 0x00, 0xCB, 0xCB,
|
||||||
|
0xCB, 0x00, 0xA3, 0xB2, 0xB3, 0x00, 0x6E, 0x6E, 0x6E, 0x00, 0x7E, 0x83, 0x82, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xAC, 0xB6, 0xB6, 0x00, 0xDD, 0x79, 0x58, 0x00, 0x54, 0x54, 0xD4, 0x00, 0xEA, 0xAF,
|
||||||
|
0x9B, 0x00, 0xB3, 0xBE, 0xBF, 0x00, 0xB0, 0xB0, 0xB0, 0x00, 0xD0, 0x53, 0x53, 0x00, 0x8A, 0x97,
|
||||||
|
0x96, 0x00, 0x54, 0xD4, 0x54, 0x00, 0x59, 0xBC, 0xFF, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0xAC, 0xBC,
|
||||||
|
0xBC, 0x00, 0x9B, 0x4F, 0x3C, 0x00, 0xDA, 0xEE, 0xEF, 0x00, 0xA1, 0xB0, 0xAF, 0x00, 0xCA, 0xDB,
|
||||||
|
0xDC, 0x00, 0x9F, 0x83, 0x78, 0x00, 0x92, 0x74, 0x68, 0x00, 0xFB, 0xFB, 0xFB, 0x00, 0xCF, 0xCF,
|
||||||
|
0xCF, 0x00, 0xBD, 0xBD, 0xBD, 0x00, 0x2B, 0x2B, 0x2B, 0x00, 0x96, 0xA3, 0xA3, 0x00, 0xD6, 0xE9,
|
||||||
|
0xEA, 0x00, 0x67, 0x6A, 0x69, 0x00, 0xF5, 0x62, 0x62, 0x00, 0x9F, 0xAA, 0xAA, 0x00, 0xCF, 0xB0,
|
||||||
|
0xB0, 0x00, 0x5C, 0x65, 0x64, 0x00, 0xD2, 0x6E, 0x6E, 0x00, 0xE6, 0x5B, 0x5B, 0x00, 0xCE, 0xDF,
|
||||||
|
0xE0, 0x00, 0x52, 0x53, 0x53, 0x00, 0xC1, 0xCF, 0xD0, 0x00, 0x14, 0x14, 0x14, 0x00, 0x2D, 0x31,
|
||||||
|
0x2F, 0x00, 0x7C, 0x85, 0x85, 0x00, 0x40, 0x41, 0x40, 0x00, 0x89, 0x8F, 0x8F, 0x00, 0x5A, 0x5E,
|
||||||
|
0x5D, 0x00, 0x23, 0x28, 0x25, 0x00, 0x7E, 0x8B, 0x8A, 0x00, 0xFF, 0x8C, 0x8C, 0x00, 0xFF, 0xD9,
|
||||||
|
0xD9, 0x00, 0xFF, 0xB3, 0xB3, 0x00, 0xFF, 0x70, 0x70, 0x00, 0xFF, 0xF6, 0xF6, 0x00, 0xFF, 0xC6,
|
||||||
|
0xC6, 0x00, 0xFF, 0xEC, 0xEC, 0x00, 0x79, 0x83, 0xAA, 0x00, 0x79, 0xAA, 0x84, 0x00, 0xFF, 0x79,
|
||||||
|
0x79, 0x00, 0xFF, 0xE3, 0xE3, 0x00, 0xFF, 0xA0, 0xA0, 0x00, 0xFF, 0x83, 0x83, 0x00, 0xFF, 0xA9,
|
||||||
|
0xA9, 0x00, 0x36, 0x88, 0xBB, 0x00, 0xFF, 0xD0, 0xD0, 0x00, 0xFF, 0x96, 0x96, 0x00, 0xFF, 0xBC,
|
||||||
|
0xBC, 0x00, 0xCA, 0xCA, 0xF2, 0x00, 0xBF, 0xE5, 0xFF, 0x00, 0xF2, 0xCC, 0xBF, 0x00, 0xCF, 0xE2,
|
||||||
|
0xE3, 0x00, 0xFB, 0xF2, 0xEF, 0x00, 0x0F, 0x9F, 0xFF, 0x00, 0xF2, 0xF2, 0xFB, 0x00, 0x3F, 0x3F,
|
||||||
|
0xCF, 0x00, 0xEF, 0xF8, 0xFF, 0x00, 0x1F, 0xA5, 0xFF, 0x00, 0xD1, 0x47, 0x18, 0x00, 0xF8, 0xE5,
|
||||||
|
0xDF, 0x00, 0xF2, 0xFB, 0xF2, 0x00, 0x39, 0x40, 0x3E, 0x00, 0xDF, 0xF2, 0xFF, 0x00, 0xF5, 0xD8,
|
||||||
|
0xCF, 0x00, 0x3F, 0xCF, 0x3F, 0x00, 0xAF, 0xDF, 0xFF, 0x00, 0x32, 0x34, 0x33, 0x00, 0xD8, 0xD8,
|
||||||
|
0xF5, 0x00, 0x9C, 0xA7, 0xA7, 0x00, 0xCF, 0xEB, 0xFF, 0x00, 0x48, 0x4E, 0x4B, 0x00, 0xE5, 0xE5,
|
||||||
|
0xF8, 0x00, 0xEF, 0xBF, 0xAF, 0x00, 0x69, 0x72, 0x71, 0x00, 0xE5, 0xF8, 0xE5, 0x00, 0x73, 0x7E,
|
||||||
|
0x7D, 0x00, 0xA6, 0xB5, 0xC0, 0x00, 0xCF, 0x91, 0x91, 0x00, 0xA6, 0xBF, 0xB6, 0x00, 0x5F, 0x8E,
|
||||||
|
0xA8, 0x00, 0xF0, 0x7B, 0x7B, 0x00, 0xCC, 0x33, 0x00, 0x00, 0x33, 0x33, 0xCC, 0x00, 0x00, 0x99,
|
||||||
|
0xFF, 0x00, 0x33, 0xCC, 0x33, 0x00, 0xFF, 0x66, 0x66, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x76, 0x22,
|
||||||
|
0x01, 0x05, 0x3C, 0x4A, 0x01, 0x1E, 0x78, 0x22, 0x00, 0x00, 0x75, 0x22, 0x01, 0x1E, 0x3E, 0x4B,
|
||||||
|
0x01, 0x1E, 0x77, 0x22, 0x00, 0x00, 0x75, 0x22, 0x00, 0x03, 0x00, 0x4B, 0x3B, 0x00, 0x3A, 0x21,
|
||||||
|
0x00, 0x03, 0x0A, 0x4B, 0x3B, 0x00, 0x77, 0x22, 0x00, 0x00, 0x75, 0x22, 0x00, 0x04, 0x00, 0x4B,
|
||||||
|
0x2E, 0x2E, 0x05, 0x4C, 0x01, 0x39, 0x01, 0x2E, 0x18, 0x4C, 0x01, 0x39, 0x01, 0x31, 0x04, 0x4C,
|
||||||
|
0x01, 0x2A, 0x01, 0x31, 0x07, 0x4C, 0x01, 0x31, 0x01, 0x39, 0x09, 0x4C, 0x00, 0x03, 0x2E, 0x3F,
|
||||||
|
0x4A, 0x00, 0x77, 0x22, 0x00, 0x00, 0x75, 0x22, 0x00, 0x05, 0x03, 0x4B, 0x31, 0x30, 0x01, 0x00,
|
||||||
|
0x04, 0x21, 0x00, 0x03, 0x4C, 0x30, 0x43, 0x00, 0x17, 0x21, 0x00, 0x09, 0x4C, 0x2E, 0x3B, 0x21,
|
||||||
|
0x21, 0x21, 0x78, 0x2E, 0x3B, 0x00, 0x05, 0x21, 0x00, 0x03, 0x3B, 0x2E, 0x78, 0x00, 0x08, 0x21,
|
||||||
|
0x00, 0x04, 0x43, 0x30, 0x01, 0x0D, 0x77, 0x22, 0x00, 0x00, 0x76, 0x22, 0x00, 0x0F, 0x75, 0x78,
|
||||||
|
0x30, 0x7A, 0x02, 0x02, 0x02, 0x27, 0x3B, 0x0A, 0x7A, 0x02, 0x02, 0x02, 0x23, 0x00, 0x0F, 0x02,
|
||||||
|
0x00, 0x21, 0x27, 0x02, 0x02, 0x02, 0x0A, 0x0A, 0x2A, 0x02, 0x02, 0x02, 0x7A, 0x4C, 0x31, 0x02,
|
||||||
|
0x3D, 0x02, 0x23, 0x02, 0x39, 0x2E, 0x12, 0x02, 0x02, 0x02, 0x27, 0x27, 0x02, 0x23, 0x02, 0x47,
|
||||||
|
0x30, 0x71, 0x00, 0x00, 0x77, 0x22, 0x00, 0x00, 0x76, 0x22, 0x00, 0x3F, 0x15, 0x4B, 0x62, 0x02,
|
||||||
|
0x02, 0x30, 0x30, 0x1C, 0x02, 0x15, 0x1F, 0x3A, 0x30, 0x42, 0x44, 0x42, 0x30, 0x30, 0x1C, 0x30,
|
||||||
|
0x1C, 0x30, 0x30, 0x1C, 0x30, 0x1C, 0x30, 0x1C, 0x30, 0x30, 0x04, 0x30, 0x1C, 0x30, 0x1F, 0x27,
|
||||||
|
0x44, 0x30, 0x30, 0x30, 0x4C, 0x62, 0x2A, 0x2E, 0x2A, 0x30, 0x3D, 0x2E, 0x39, 0x62, 0x12, 0x30,
|
||||||
|
0x1C, 0x30, 0x32, 0x32, 0x30, 0x02, 0x30, 0x2A, 0x62, 0x4B, 0x1E, 0x00, 0x77, 0x22, 0x00, 0x00,
|
||||||
|
0x76, 0x22, 0x00, 0x24, 0x03, 0x4B, 0x39, 0x30, 0x2A, 0x30, 0x30, 0x3A, 0x32, 0x23, 0x23, 0x04,
|
||||||
|
0x30, 0x44, 0x3A, 0x44, 0x32, 0x30, 0x02, 0x1C, 0x44, 0x1C, 0x30, 0x44, 0x3A, 0x44, 0x1C, 0x04,
|
||||||
|
0x04, 0x30, 0x44, 0x1C, 0x44, 0x1C, 0x1C, 0x04, 0x04, 0x30, 0x00, 0x17, 0x4C, 0x4C, 0x0A, 0x0A,
|
||||||
|
0x47, 0x32, 0x21, 0x0A, 0x0E, 0x30, 0x12, 0x30, 0x02, 0x30, 0x32, 0x42, 0x30, 0x02, 0x30, 0x39,
|
||||||
|
0x2E, 0x4B, 0x05, 0x00, 0x77, 0x22, 0x00, 0x00, 0x77, 0x22, 0x00, 0x23, 0x3B, 0x3F, 0x30, 0x39,
|
||||||
|
0x30, 0x30, 0x3A, 0x1F, 0x2E, 0x30, 0x42, 0x42, 0x30, 0x04, 0x30, 0x04, 0x1C, 0x30, 0x44, 0x30,
|
||||||
|
0x44, 0x30, 0x1C, 0x04, 0x30, 0x04, 0x30, 0x44, 0x30, 0x30, 0x44, 0x30, 0x44, 0x30, 0x04, 0x00,
|
||||||
|
0x04, 0x30, 0x00, 0x16, 0x4C, 0x4C, 0x1F, 0x23, 0x3D, 0x23, 0x3D, 0x23, 0x78, 0x30, 0x3B, 0x30,
|
||||||
|
0x02, 0x30, 0x32, 0x30, 0x42, 0x44, 0x30, 0x39, 0x2A, 0x4B, 0x78, 0x22, 0x00, 0x00, 0x77, 0x22,
|
||||||
|
0x00, 0x3D, 0x28, 0x4B, 0x04, 0x31, 0x02, 0x30, 0x1C, 0x42, 0x32, 0x3A, 0x44, 0x42, 0x42, 0x42,
|
||||||
|
0x30, 0x44, 0x1C, 0x44, 0x42, 0x30, 0x44, 0x3A, 0x44, 0x1C, 0x44, 0x32, 0x42, 0x44, 0x3A, 0x44,
|
||||||
|
0x1C, 0x44, 0x42, 0x30, 0x02, 0x3A, 0x42, 0x30, 0x30, 0x4C, 0x4C, 0x32, 0x30, 0x02, 0x30, 0x02,
|
||||||
|
0x30, 0x31, 0x30, 0x78, 0x30, 0x2E, 0x30, 0x02, 0x30, 0x32, 0x32, 0x30, 0x39, 0x7A, 0x4A, 0x00,
|
||||||
|
0x78, 0x22, 0x00, 0x00, 0x78, 0x22, 0x00, 0x3C, 0x4B, 0x2A, 0x30, 0x7A, 0x62, 0x2A, 0x2E, 0x39,
|
||||||
|
0x2A, 0x04, 0x3D, 0x62, 0x3D, 0x42, 0x62, 0x3D, 0x62, 0x3D, 0x02, 0x1F, 0x02, 0x62, 0x73, 0x62,
|
||||||
|
0x49, 0x62, 0x02, 0x02, 0x02, 0x47, 0x62, 0x78, 0x62, 0x2E, 0x2E, 0x62, 0x62, 0x62, 0x47, 0x4C,
|
||||||
|
0x2A, 0x2E, 0x7A, 0x2E, 0x7A, 0x2E, 0x2A, 0x30, 0x39, 0x2E, 0x7A, 0x2E, 0x12, 0x2E, 0x39, 0x39,
|
||||||
|
0x31, 0x04, 0x01, 0x0D, 0x78, 0x22, 0x00, 0x00, 0x78, 0x22, 0x00, 0x2F, 0x0D, 0x75, 0x30, 0x21,
|
||||||
|
0x04, 0x3D, 0x2E, 0x30, 0x04, 0x47, 0x04, 0x2A, 0x04, 0x31, 0x04, 0x04, 0x39, 0x04, 0x4A, 0x3F,
|
||||||
|
0x04, 0x49, 0x04, 0x27, 0x27, 0x04, 0x39, 0x04, 0x3B, 0x12, 0x04, 0x39, 0x04, 0x27, 0x2E, 0x04,
|
||||||
|
0x39, 0x04, 0x47, 0x4C, 0x27, 0x27, 0x39, 0x04, 0x2A, 0x04, 0x47, 0x00, 0x0B, 0x30, 0x01, 0x71,
|
||||||
|
0x01, 0x00, 0x78, 0x22, 0x00, 0x00, 0x78, 0x22, 0x00, 0x2F, 0x1E, 0x71, 0x4B, 0x71, 0x4C, 0x78,
|
||||||
|
0x4B, 0x4B, 0x4B, 0x01, 0x4C, 0x6C, 0x4C, 0x78, 0x78, 0x4C, 0x75, 0x4C, 0x01, 0x6C, 0x4C, 0x01,
|
||||||
|
0x7A, 0x78, 0x01, 0x4C, 0x6C, 0x4C, 0x01, 0x6C, 0x4C, 0x01, 0x4C, 0x78, 0x78, 0x4C, 0x01, 0x4C,
|
||||||
|
0x6C, 0x4B, 0x78, 0x4C, 0x01, 0x4C, 0x01, 0x4C, 0x6C, 0x00, 0x0B, 0x4B, 0x01, 0x46, 0x01, 0x03,
|
||||||
|
0x78, 0x22, 0x00, 0x00, 0x79, 0x22, 0x00, 0x0B, 0x03, 0x00, 0x12, 0x43, 0x43, 0x0D, 0x0D, 0x0D,
|
||||||
|
0x4A, 0x43, 0x4A, 0x00, 0x05, 0x43, 0x00, 0x03, 0x4B, 0x75, 0x4A, 0x00, 0x08, 0x75, 0x01, 0x01,
|
||||||
|
0x01, 0x4A, 0x08, 0x75, 0x00, 0x03, 0x01, 0x4B, 0x0E, 0x00, 0x05, 0x43, 0x01, 0x0A, 0x0B, 0x0D,
|
||||||
|
0x01, 0x36, 0x79, 0x22, 0x00, 0x00, 0x88, 0x22, 0x01, 0x05, 0x01, 0x46, 0x15, 0x27, 0x01, 0x75,
|
||||||
|
0x01, 0x28, 0x8B, 0x22, 0x00, 0x00, 0x7D, 0x22, 0x01, 0x15, 0x01, 0x45, 0x2C, 0x22, 0x01, 0x20,
|
||||||
|
0x80, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x01, 0x2B, 0x1F, 0x00, 0x03, 0x12, 0x22, 0x1E, 0x00,
|
||||||
|
0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x44, 0x29, 0x1F, 0x00, 0x05, 0x44, 0x30,
|
||||||
|
0x22, 0x00, 0x05, 0x00, 0x7E, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x55, 0x29, 0x83,
|
||||||
|
0x00, 0x05, 0x55, 0x30, 0x22, 0x15, 0x36, 0x00, 0x7E, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x55, 0x29, 0x83, 0x00, 0x05, 0x55, 0x30, 0x22, 0x00, 0x36, 0x00, 0x7E, 0x22, 0x00, 0x00,
|
||||||
|
0x7E, 0x22, 0x01, 0x1F, 0x01, 0x55, 0x29, 0x83, 0x00, 0x05, 0x55, 0x30, 0x22, 0x15, 0x44, 0x00,
|
||||||
|
0x7E, 0x22, 0x00, 0x00, 0x77, 0x22, 0x00, 0x09, 0x4E, 0x5C, 0x4F, 0x58, 0x4D, 0x56, 0x22, 0x1F,
|
||||||
|
0x55, 0x00, 0x0E, 0x83, 0x01, 0x10, 0x07, 0x85, 0x00, 0x03, 0x6B, 0x10, 0x0F, 0x00, 0x10, 0x83,
|
||||||
|
0x00, 0x09, 0x55, 0x30, 0x22, 0x2F, 0x40, 0x58, 0x4F, 0x4E, 0x57, 0x00, 0x7A, 0x22, 0x00, 0x00,
|
||||||
|
0x71, 0x22, 0x00, 0x05, 0x4E, 0x5E, 0x5A, 0x4D, 0x50, 0x00, 0x07, 0x84, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x55, 0x00, 0x0E, 0x83, 0x01, 0x10, 0x0A, 0x85, 0x01, 0x0B, 0x0F, 0x83, 0x00, 0x06, 0x55, 0x30,
|
||||||
|
0x22, 0x2F, 0x29, 0x41, 0x04, 0x84, 0x00, 0x05, 0x56, 0x4D, 0x4F, 0x52, 0x57, 0x00, 0x74, 0x22,
|
||||||
|
0x00, 0x00, 0x6C, 0x22, 0x00, 0x04, 0x4E, 0x4F, 0x5D, 0x56, 0x0D, 0x84, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x55, 0x00, 0x0E, 0x83, 0x00, 0x07, 0x10, 0x85, 0x85, 0x85, 0x79, 0x10, 0x10, 0x00, 0x05, 0x85,
|
||||||
|
0x01, 0x0F, 0x0E, 0x83, 0x00, 0x06, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x0A, 0x84, 0x00, 0x04,
|
||||||
|
0x4D, 0x58, 0x5E, 0x57, 0x6F, 0x22, 0x00, 0x00, 0x68, 0x22, 0x00, 0x03, 0x52, 0x58, 0x59, 0x00,
|
||||||
|
0x12, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x0D, 0x10, 0x85, 0x85, 0x85,
|
||||||
|
0x1A, 0x83, 0x83, 0x2B, 0x10, 0x85, 0x85, 0x85, 0x79, 0x00, 0x0E, 0x83, 0x00, 0x06, 0x55, 0x30,
|
||||||
|
0x22, 0x2F, 0x29, 0x29, 0x0F, 0x84, 0x00, 0x03, 0x4D, 0x4F, 0x5C, 0x00, 0x6B, 0x22, 0x00, 0x00,
|
||||||
|
0x64, 0x22, 0x00, 0x03, 0x52, 0x58, 0x56, 0x00, 0x16, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00,
|
||||||
|
0x0E, 0x83, 0x00, 0x09, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x83, 0x83, 0x83, 0x2B, 0x00, 0x04, 0x85,
|
||||||
|
0x01, 0x0F, 0x0D, 0x83, 0x00, 0x07, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x3C, 0x00, 0x12, 0x84,
|
||||||
|
0x00, 0x03, 0x59, 0x5A, 0x5C, 0x00, 0x67, 0x22, 0x00, 0x00, 0x60, 0x22, 0x00, 0x03, 0x5C, 0x5A,
|
||||||
|
0x56, 0x00, 0x1A, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05, 0x10, 0x85,
|
||||||
|
0x85, 0x85, 0x1A, 0x00, 0x04, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x0D, 0x83,
|
||||||
|
0x00, 0x07, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x41, 0x00, 0x16, 0x84, 0x00, 0x03, 0x59, 0x4F,
|
||||||
|
0x57, 0x00, 0x63, 0x22, 0x00, 0x00, 0x5D, 0x22, 0x01, 0x5E, 0x01, 0x5D, 0x1E, 0x84, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x83,
|
||||||
|
0x00, 0x05, 0x0B, 0x85, 0x85, 0x85, 0x10, 0x00, 0x0D, 0x83, 0x00, 0x07, 0x55, 0x30, 0x22, 0x2F,
|
||||||
|
0x29, 0x29, 0x41, 0x00, 0x19, 0x84, 0x00, 0x03, 0x50, 0x58, 0x5C, 0x00, 0x60, 0x22, 0x00, 0x00,
|
||||||
|
0x5A, 0x22, 0x01, 0x5E, 0x01, 0x59, 0x21, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83,
|
||||||
|
0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x83, 0x00, 0x05, 0x1A, 0x85, 0x85, 0x85,
|
||||||
|
0x10, 0x00, 0x0D, 0x83, 0x00, 0x07, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x00, 0x1D, 0x84,
|
||||||
|
0x01, 0x5D, 0x01, 0x52, 0x5D, 0x22, 0x00, 0x00, 0x57, 0x22, 0x01, 0x5E, 0x01, 0x59, 0x24, 0x84,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00,
|
||||||
|
0x04, 0x83, 0x00, 0x05, 0x1A, 0x85, 0x85, 0x85, 0x10, 0x00, 0x0D, 0x83, 0x00, 0x07, 0x55, 0x30,
|
||||||
|
0x22, 0x2F, 0x29, 0x29, 0x29, 0x00, 0x20, 0x84, 0x01, 0x5D, 0x01, 0x52, 0x5A, 0x22, 0x00, 0x00,
|
||||||
|
0x54, 0x22, 0x01, 0x52, 0x01, 0x4D, 0x27, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83,
|
||||||
|
0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x83, 0x00, 0x05, 0x1A, 0x85, 0x85, 0x85,
|
||||||
|
0x10, 0x00, 0x0D, 0x83, 0x00, 0x08, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x3C, 0x21, 0x84,
|
||||||
|
0x00, 0x03, 0x50, 0x58, 0x5C, 0x00, 0x57, 0x22, 0x00, 0x00, 0x51, 0x22, 0x00, 0x03, 0x4E, 0x58,
|
||||||
|
0x50, 0x00, 0x29, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05, 0x10, 0x85,
|
||||||
|
0x85, 0x85, 0x1A, 0x00, 0x04, 0x83, 0x00, 0x05, 0x1A, 0x85, 0x85, 0x85, 0x10, 0x00, 0x0D, 0x83,
|
||||||
|
0x00, 0x08, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x3C, 0x24, 0x84, 0x01, 0x56, 0x01, 0x4F,
|
||||||
|
0x55, 0x22, 0x00, 0x00, 0x4F, 0x22, 0x01, 0x5E, 0x01, 0x56, 0x2C, 0x84, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x55, 0x00, 0x0E, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x83, 0x00, 0x05,
|
||||||
|
0x10, 0x85, 0x85, 0x85, 0x0B, 0x00, 0x0D, 0x83, 0x00, 0x08, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29,
|
||||||
|
0x29, 0x41, 0x27, 0x84, 0x01, 0x5D, 0x01, 0x5C, 0x52, 0x22, 0x00, 0x00, 0x4D, 0x22, 0x01, 0x58,
|
||||||
|
0x01, 0x50, 0x2E, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x09, 0x10, 0x85,
|
||||||
|
0x85, 0x85, 0x1A, 0x83, 0x83, 0x83, 0x6F, 0x00, 0x04, 0x85, 0x01, 0x1A, 0x0D, 0x83, 0x00, 0x08,
|
||||||
|
0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x41, 0x29, 0x84, 0x01, 0x56, 0x01, 0x4F, 0x50, 0x22,
|
||||||
|
0x00, 0x00, 0x4A, 0x22, 0x01, 0x4E, 0x01, 0x4D, 0x2C, 0x84, 0x00, 0x08, 0x59, 0x5D, 0x4F, 0x52,
|
||||||
|
0x4E, 0x22, 0x1F, 0x55, 0x0E, 0x83, 0x00, 0x09, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x83, 0x83, 0x83,
|
||||||
|
0x0B, 0x00, 0x04, 0x85, 0x01, 0x2B, 0x0D, 0x83, 0x00, 0x08, 0x55, 0x30, 0x22, 0x33, 0x7C, 0x7C,
|
||||||
|
0x40, 0x40, 0x2B, 0x84, 0x01, 0x50, 0x01, 0x58, 0x4E, 0x22, 0x00, 0x00, 0x48, 0x22, 0x01, 0x52,
|
||||||
|
0x01, 0x59, 0x28, 0x84, 0x00, 0x04, 0x59, 0x5D, 0x4F, 0x4E, 0x08, 0x22, 0x01, 0x1F, 0x01, 0x55,
|
||||||
|
0x0E, 0x83, 0x00, 0x08, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x83, 0x2B, 0x0B, 0x04, 0x85, 0x01, 0x0B,
|
||||||
|
0x0E, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x15, 0x05, 0x22, 0x00, 0x05, 0x4E, 0x52, 0x4F, 0x4D,
|
||||||
|
0x50, 0x00, 0x28, 0x84, 0x01, 0x58, 0x01, 0x57, 0x4B, 0x22, 0x00, 0x00, 0x46, 0x22, 0x01, 0x52,
|
||||||
|
0x01, 0x56, 0x25, 0x84, 0x00, 0x04, 0x56, 0x5D, 0x5E, 0x4E, 0x0D, 0x22, 0x01, 0x1F, 0x01, 0x55,
|
||||||
|
0x0E, 0x83, 0x01, 0x10, 0x0A, 0x85, 0x01, 0x6B, 0x01, 0x2B, 0x0E, 0x83, 0x00, 0x04, 0x55, 0x30,
|
||||||
|
0x22, 0x00, 0x0B, 0x22, 0x00, 0x04, 0x5C, 0x4F, 0x4D, 0x50, 0x25, 0x84, 0x01, 0x4D, 0x01, 0x4E,
|
||||||
|
0x49, 0x22, 0x00, 0x00, 0x44, 0x22, 0x01, 0x52, 0x01, 0x56, 0x23, 0x84, 0x00, 0x03, 0x59, 0x5A,
|
||||||
|
0x5C, 0x00, 0x12, 0x22, 0x01, 0x1F, 0x01, 0x55, 0x0E, 0x83, 0x01, 0x10, 0x09, 0x85, 0x01, 0x79,
|
||||||
|
0x01, 0x2B, 0x0F, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x00, 0x0F, 0x22, 0x00, 0x04, 0x57, 0x5E,
|
||||||
|
0x58, 0x56, 0x23, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x47, 0x22, 0x00, 0x00, 0x42, 0x22, 0x01, 0x5C,
|
||||||
|
0x01, 0x56, 0x21, 0x84, 0x00, 0x03, 0x56, 0x5A, 0x5C, 0x00, 0x16, 0x22, 0x01, 0x1F, 0x01, 0x55,
|
||||||
|
0x0E, 0x83, 0x01, 0x0B, 0x07, 0x10, 0x01, 0x0B, 0x01, 0x0F, 0x11, 0x83, 0x00, 0x04, 0x55, 0x30,
|
||||||
|
0x22, 0x15, 0x14, 0x22, 0x00, 0x03, 0x52, 0x5D, 0x50, 0x00, 0x21, 0x84, 0x01, 0x5D, 0x46, 0x22,
|
||||||
|
0x00, 0x00, 0x40, 0x22, 0x01, 0x4E, 0x01, 0x4D, 0x20, 0x84, 0x01, 0x5D, 0x01, 0x5E, 0x1A, 0x22,
|
||||||
|
0x01, 0x1F, 0x01, 0x55, 0x29, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x00, 0x17, 0x22, 0x00, 0x03,
|
||||||
|
0x57, 0x4F, 0x59, 0x00, 0x20, 0x84, 0x01, 0x58, 0x44, 0x22, 0x00, 0x00, 0x3F, 0x22, 0x01, 0x58,
|
||||||
|
0x1E, 0x84, 0x00, 0x03, 0x50, 0x58, 0x5C, 0x00, 0x1D, 0x22, 0x01, 0x1F, 0x01, 0x55, 0x29, 0x83,
|
||||||
|
0x00, 0x04, 0x55, 0x30, 0x22, 0x00, 0x1B, 0x22, 0x01, 0x5E, 0x01, 0x5D, 0x1E, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x4F, 0x42, 0x22, 0x00, 0x00, 0x3D, 0x22, 0x01, 0x4F, 0x01, 0x50, 0x1C, 0x84, 0x00, 0x03,
|
||||||
|
0x50, 0x58, 0x5C, 0x00, 0x20, 0x22, 0x01, 0x1F, 0x01, 0x55, 0x04, 0x83, 0x04, 0x10, 0x00, 0x1D,
|
||||||
|
0x6F, 0x83, 0x10, 0x0B, 0x83, 0x10, 0x0F, 0x83, 0x6F, 0x10, 0x1A, 0x83, 0x10, 0x0F, 0x83, 0x0F,
|
||||||
|
0x10, 0x2B, 0x6F, 0x0B, 0x6B, 0x10, 0x0F, 0x83, 0x10, 0x2B, 0x83, 0x2B, 0x10, 0x00, 0x04, 0x83,
|
||||||
|
0x00, 0x04, 0x55, 0x30, 0x22, 0x15, 0x1E, 0x22, 0x01, 0x52, 0x01, 0x5D, 0x1D, 0x84, 0x01, 0x56,
|
||||||
|
0x01, 0x4E, 0x40, 0x22, 0x00, 0x00, 0x3B, 0x22, 0x01, 0x4E, 0x01, 0x56, 0x1C, 0x84, 0x01, 0x5D,
|
||||||
|
0x01, 0x52, 0x23, 0x22, 0x01, 0x1F, 0x01, 0x55, 0x04, 0x83, 0x00, 0x21, 0x1A, 0x2B, 0x1A, 0x85,
|
||||||
|
0x0B, 0x83, 0x85, 0x10, 0x83, 0x10, 0x79, 0x1A, 0x0B, 0x85, 0x0F, 0x83, 0x85, 0x1A, 0x83, 0x1A,
|
||||||
|
0x85, 0x2B, 0x10, 0x6B, 0x0F, 0x10, 0x85, 0x6F, 0x85, 0x0F, 0x2B, 0x6B, 0x85, 0x00, 0x04, 0x83,
|
||||||
|
0x00, 0x04, 0x55, 0x30, 0x22, 0x00, 0x21, 0x22, 0x01, 0x5E, 0x01, 0x59, 0x1C, 0x84, 0x01, 0x5D,
|
||||||
|
0x3F, 0x22, 0x00, 0x00, 0x3A, 0x22, 0x01, 0x58, 0x1B, 0x84, 0x01, 0x56, 0x01, 0x5E, 0x26, 0x22,
|
||||||
|
0x01, 0x1F, 0x01, 0x55, 0x05, 0x83, 0x00, 0x20, 0x0F, 0x10, 0x85, 0x0B, 0x83, 0x85, 0x10, 0x83,
|
||||||
|
0x0F, 0x85, 0x10, 0x85, 0x6B, 0x83, 0x83, 0x85, 0x1A, 0x83, 0x1A, 0x85, 0x0F, 0x6B, 0x10, 0x83,
|
||||||
|
0x0F, 0x85, 0x1A, 0x85, 0x0F, 0x79, 0x85, 0x85, 0x04, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x2D,
|
||||||
|
0x23, 0x22, 0x00, 0x03, 0x57, 0x5A, 0x50, 0x00, 0x1A, 0x84, 0x01, 0x50, 0x01, 0x5E, 0x3D, 0x22,
|
||||||
|
0x00, 0x00, 0x38, 0x22, 0x01, 0x5C, 0x01, 0x50, 0x1A, 0x84, 0x01, 0x58, 0x01, 0x4E, 0x28, 0x22,
|
||||||
|
0x01, 0x1F, 0x01, 0x55, 0x04, 0x83, 0x00, 0x21, 0x1A, 0x85, 0x85, 0x10, 0x6F, 0x83, 0x85, 0x10,
|
||||||
|
0x83, 0x83, 0x6B, 0x0B, 0x85, 0x0B, 0x83, 0x83, 0x85, 0x1A, 0x83, 0x1A, 0x85, 0x0F, 0x85, 0x10,
|
||||||
|
0x83, 0x0F, 0x85, 0x1A, 0x85, 0x6B, 0x85, 0x1A, 0x85, 0x00, 0x04, 0x83, 0x00, 0x04, 0x55, 0x30,
|
||||||
|
0x22, 0x2D, 0x26, 0x22, 0x01, 0x52, 0x01, 0x4D, 0x1A, 0x84, 0x01, 0x4D, 0x01, 0x57, 0x3B, 0x22,
|
||||||
|
0x00, 0x00, 0x37, 0x22, 0x01, 0x5D, 0x19, 0x84, 0x01, 0x56, 0x01, 0x4F, 0x2B, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x55, 0x04, 0x83, 0x00, 0x21, 0x10, 0x85, 0x6F, 0x83, 0x6F, 0x83, 0x85, 0x10, 0x83, 0x83,
|
||||||
|
0x0B, 0x85, 0x85, 0x2B, 0x83, 0x83, 0x85, 0x1A, 0x83, 0x1A, 0x85, 0x0F, 0x10, 0x79, 0x83, 0x0F,
|
||||||
|
0x85, 0x2B, 0x85, 0x85, 0x0F, 0x0F, 0x85, 0x00, 0x04, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x2D,
|
||||||
|
0x28, 0x22, 0x01, 0x57, 0x01, 0x58, 0x19, 0x84, 0x01, 0x50, 0x01, 0x5E, 0x3A, 0x22, 0x00, 0x00,
|
||||||
|
0x35, 0x22, 0x01, 0x4E, 0x01, 0x50, 0x18, 0x84, 0x01, 0x56, 0x01, 0x52, 0x2D, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x55, 0x04, 0x83, 0x00, 0x05, 0x0F, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x85, 0x00, 0x06,
|
||||||
|
0x83, 0x2B, 0x85, 0x10, 0x83, 0x1A, 0x04, 0x85, 0x00, 0x0E, 0x1A, 0x85, 0x0F, 0x2B, 0x6B, 0x85,
|
||||||
|
0x85, 0x0B, 0x83, 0x85, 0x1A, 0x83, 0x0F, 0x85, 0x04, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x2D,
|
||||||
|
0x2B, 0x22, 0x01, 0x4F, 0x01, 0x50, 0x18, 0x84, 0x01, 0x4D, 0x39, 0x22, 0x00, 0x00, 0x34, 0x22,
|
||||||
|
0x01, 0x5A, 0x18, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x2F, 0x22, 0x01, 0x1F, 0x01, 0x55, 0x05, 0x83,
|
||||||
|
0x00, 0x03, 0x6F, 0x0F, 0x2B, 0x00, 0x14, 0x83, 0x01, 0x0F, 0x01, 0x2B, 0x0B, 0x83, 0x00, 0x04,
|
||||||
|
0x55, 0x30, 0x22, 0x2D, 0x2D, 0x22, 0x01, 0x52, 0x01, 0x56, 0x17, 0x84, 0x01, 0x50, 0x01, 0x5C,
|
||||||
|
0x37, 0x22, 0x00, 0x00, 0x33, 0x22, 0x01, 0x59, 0x17, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x31, 0x22,
|
||||||
|
0x01, 0x1F, 0x01, 0x55, 0x29, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x2D, 0x2F, 0x22, 0x01, 0x52,
|
||||||
|
0x01, 0x56, 0x17, 0x84, 0x01, 0x5A, 0x36, 0x22, 0x00, 0x00, 0x31, 0x22, 0x01, 0x4E, 0x01, 0x50,
|
||||||
|
0x16, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x33, 0x22, 0x01, 0x1F, 0x01, 0x7D, 0x29, 0x55, 0x00, 0x04,
|
||||||
|
0x7D, 0x30, 0x22, 0x2D, 0x31, 0x22, 0x01, 0x52, 0x01, 0x50, 0x16, 0x84, 0x01, 0x59, 0x35, 0x22,
|
||||||
|
0x00, 0x00, 0x30, 0x22, 0x01, 0x5E, 0x16, 0x84, 0x01, 0x56, 0x01, 0x5C, 0x35, 0x22, 0x01, 0x39,
|
||||||
|
0x2B, 0x30, 0x00, 0x03, 0x1F, 0x22, 0x2D, 0x00, 0x33, 0x22, 0x01, 0x4F, 0x01, 0x50, 0x15, 0x84,
|
||||||
|
0x01, 0x50, 0x01, 0x57, 0x33, 0x22, 0x00, 0x00, 0x2F, 0x22, 0x01, 0x58, 0x15, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x5E, 0x36, 0x22, 0x01, 0x48, 0x2D, 0x22, 0x01, 0x46, 0x36, 0x22, 0x01, 0x58, 0x16, 0x84,
|
||||||
|
0x01, 0x52, 0x32, 0x22, 0x00, 0x00, 0x2E, 0x22, 0x01, 0x59, 0x15, 0x84, 0x01, 0x5A, 0x39, 0x22,
|
||||||
|
0x2D, 0x2D, 0x38, 0x22, 0x01, 0x57, 0x01, 0x4D, 0x15, 0x84, 0x01, 0x5A, 0x31, 0x22, 0x00, 0x00,
|
||||||
|
0x2C, 0x22, 0x01, 0x57, 0x01, 0x59, 0x14, 0x84, 0x01, 0x59, 0x01, 0x57, 0xA1, 0x22, 0x01, 0x52,
|
||||||
|
0x01, 0x50, 0x14, 0x84, 0x01, 0x58, 0x30, 0x22, 0x00, 0x00, 0x2B, 0x22, 0x01, 0x57, 0x01, 0x50,
|
||||||
|
0x13, 0x84, 0x01, 0x50, 0x01, 0x5E, 0xA5, 0x22, 0x01, 0x5D, 0x14, 0x84, 0x01, 0x59, 0x2F, 0x22,
|
||||||
|
0x00, 0x00, 0x2A, 0x22, 0x01, 0x57, 0x01, 0x50, 0x13, 0x84, 0x01, 0x4D, 0xA8, 0x22, 0x01, 0x4E,
|
||||||
|
0x01, 0x56, 0x13, 0x84, 0x01, 0x59, 0x2E, 0x22, 0x00, 0x00, 0x29, 0x22, 0x01, 0x57, 0x01, 0x50,
|
||||||
|
0x12, 0x84, 0x01, 0x50, 0x01, 0x5E, 0xAB, 0x22, 0x01, 0x5D, 0x13, 0x84, 0x01, 0x59, 0x2D, 0x22,
|
||||||
|
0x00, 0x00, 0x28, 0x22, 0x01, 0x57, 0x01, 0x50, 0x12, 0x84, 0x01, 0x59, 0x01, 0x57, 0xAD, 0x22,
|
||||||
|
0x01, 0x5C, 0x01, 0x50, 0x12, 0x84, 0x01, 0x59, 0x2C, 0x22, 0x00, 0x00, 0x27, 0x22, 0x01, 0x57,
|
||||||
|
0x01, 0x50, 0x12, 0x84, 0x01, 0x5A, 0xB1, 0x22, 0x01, 0x59, 0x12, 0x84, 0x01, 0x59, 0x2B, 0x22,
|
||||||
|
0x00, 0x00, 0x26, 0x22, 0x01, 0x57, 0x01, 0x50, 0x11, 0x84, 0x01, 0x50, 0x01, 0x52, 0xB3, 0x22,
|
||||||
|
0x01, 0x5A, 0x12, 0x84, 0x01, 0x59, 0x2A, 0x22, 0x00, 0x00, 0x26, 0x22, 0x01, 0x50, 0x11, 0x84,
|
||||||
|
0x01, 0x59, 0x01, 0x57, 0xB5, 0x22, 0x01, 0x52, 0x01, 0x50, 0x11, 0x84, 0x01, 0x5D, 0x29, 0x22,
|
||||||
|
0x00, 0x00, 0x25, 0x22, 0x01, 0x59, 0x11, 0x84, 0x01, 0x4D, 0xB8, 0x22, 0x01, 0x57, 0x01, 0x50,
|
||||||
|
0x11, 0x84, 0x01, 0x58, 0x28, 0x22, 0x00, 0x00, 0x24, 0x22, 0x01, 0x4D, 0x11, 0x84, 0x01, 0x58,
|
||||||
|
0xBB, 0x22, 0x01, 0x59, 0x11, 0x84, 0x01, 0x5E, 0x27, 0x22, 0x00, 0x00, 0x23, 0x22, 0x01, 0x58,
|
||||||
|
0x11, 0x84, 0x01, 0x4F, 0xBD, 0x22, 0x01, 0x59, 0x11, 0x84, 0x01, 0x5C, 0x26, 0x22, 0x00, 0x00,
|
||||||
|
0x22, 0x22, 0x01, 0x52, 0x11, 0x84, 0x01, 0x52, 0xBF, 0x22, 0x01, 0x58, 0x10, 0x84, 0x01, 0x50,
|
||||||
|
0x26, 0x22, 0x00, 0x00, 0x21, 0x22, 0x01, 0x57, 0x01, 0x50, 0x10, 0x84, 0x01, 0x52, 0xC1, 0x22,
|
||||||
|
0x01, 0x58, 0x10, 0x84, 0x01, 0x59, 0x25, 0x22, 0x00, 0x00, 0x21, 0x22, 0x01, 0x59, 0x10, 0x84,
|
||||||
|
0x01, 0x52, 0xC3, 0x22, 0x01, 0x58, 0x10, 0x84, 0x01, 0x5A, 0x24, 0x22, 0x00, 0x00, 0x20, 0x22,
|
||||||
|
0x01, 0x58, 0x10, 0x84, 0x01, 0x52, 0xC5, 0x22, 0x01, 0x58, 0x10, 0x84, 0x01, 0x5C, 0x23, 0x22,
|
||||||
|
0x00, 0x00, 0x1F, 0x22, 0x01, 0x5C, 0x10, 0x84, 0x01, 0x52, 0xC7, 0x22, 0x01, 0x58, 0x0F, 0x84,
|
||||||
|
0x01, 0x50, 0x23, 0x22, 0x00, 0x00, 0x1F, 0x22, 0x01, 0x50, 0x0F, 0x84, 0x01, 0x4F, 0xC9, 0x22,
|
||||||
|
0x01, 0x59, 0x0F, 0x84, 0x01, 0x5D, 0x22, 0x22, 0x00, 0x00, 0x1E, 0x22, 0x01, 0x58, 0x0F, 0x84,
|
||||||
|
0x01, 0x58, 0xCB, 0x22, 0x01, 0x59, 0x0F, 0x84, 0x01, 0x5C, 0x21, 0x22, 0x00, 0x00, 0x1D, 0x22,
|
||||||
|
0x01, 0x4E, 0x0F, 0x84, 0x01, 0x59, 0xCC, 0x22, 0x01, 0x57, 0x01, 0x50, 0x0E, 0x84, 0x01, 0x56,
|
||||||
|
0x21, 0x22, 0x00, 0x00, 0x1D, 0x22, 0x01, 0x59, 0x0E, 0x84, 0x01, 0x50, 0xCE, 0x22, 0x01, 0x5C,
|
||||||
|
0x0F, 0x84, 0x01, 0x4F, 0x20, 0x22, 0x00, 0x00, 0x1C, 0x22, 0x01, 0x52, 0x0F, 0x84, 0x01, 0x57,
|
||||||
|
0xCF, 0x22, 0x01, 0x4F, 0x0F, 0x84, 0x20, 0x22, 0x00, 0x00, 0x01, 0x22, 0x01, 0x06, 0x3C, 0x4B,
|
||||||
|
0x01, 0x4A, 0xAE, 0x22, 0x01, 0x75, 0x3B, 0x4B, 0x00, 0x03, 0x71, 0x15, 0x22, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x03, 0x1E, 0x4B, 0x71, 0x00, 0x3A, 0x0E, 0x00, 0x03, 0x6C, 0x4B, 0x00, 0x00, 0xAC, 0x22,
|
||||||
|
0x01, 0x4A, 0x01, 0x4B, 0x3B, 0x0E, 0x00, 0x03, 0x46, 0x4B, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03,
|
||||||
|
0x00, 0x4B, 0x0E, 0x00, 0x3A, 0x0A, 0x00, 0x03, 0x4A, 0x4B, 0x48, 0x00, 0xAC, 0x22, 0x01, 0x4A,
|
||||||
|
0x01, 0x4B, 0x3B, 0x0A, 0x01, 0x0E, 0x01, 0x4B, 0x00, 0x00, 0x00, 0x05, 0x1E, 0x4B, 0x02, 0x30,
|
||||||
|
0x2A, 0x00, 0x04, 0x4C, 0x01, 0x2E, 0x01, 0x30, 0x18, 0x4C, 0x01, 0x2E, 0x01, 0x04, 0x04, 0x4C,
|
||||||
|
0x01, 0x39, 0x01, 0x04, 0x07, 0x4C, 0x01, 0x2E, 0x01, 0x2E, 0x09, 0x4C, 0x00, 0x03, 0x04, 0x7A,
|
||||||
|
0x75, 0x00, 0xAC, 0x22, 0x00, 0x04, 0x3B, 0x75, 0x30, 0x04, 0x05, 0x4C, 0x01, 0x62, 0x01, 0x04,
|
||||||
|
0x18, 0x4C, 0x01, 0x04, 0x01, 0x2E, 0x04, 0x4C, 0x01, 0x2E, 0x01, 0x31, 0x07, 0x4C, 0x01, 0x30,
|
||||||
|
0x09, 0x4C, 0x00, 0x04, 0x39, 0x30, 0x4B, 0x15, 0x00, 0x00, 0x00, 0x05, 0x22, 0x48, 0x7A, 0x30,
|
||||||
|
0x12, 0x00, 0x04, 0x15, 0x00, 0x03, 0x01, 0x4C, 0x01, 0x00, 0x17, 0x15, 0x00, 0x09, 0x01, 0x4C,
|
||||||
|
0x0A, 0x15, 0x15, 0x15, 0x12, 0x2E, 0x21, 0x00, 0x05, 0x15, 0x00, 0x03, 0x21, 0x2E, 0x4C, 0x00,
|
||||||
|
0x08, 0x15, 0x00, 0x04, 0x0A, 0x62, 0x01, 0x3B, 0xAC, 0x22, 0x00, 0x0C, 0x37, 0x4B, 0x04, 0x62,
|
||||||
|
0x4A, 0x15, 0x15, 0x15, 0x21, 0x78, 0x78, 0x3B, 0x16, 0x15, 0x00, 0x03, 0x0D, 0x78, 0x01, 0x00,
|
||||||
|
0x04, 0x15, 0x01, 0x4C, 0x01, 0x12, 0x06, 0x15, 0x00, 0x03, 0x0A, 0x30, 0x0A, 0x00, 0x08, 0x15,
|
||||||
|
0x00, 0x04, 0x78, 0x04, 0x4B, 0x1E, 0x00, 0x00, 0x00, 0x11, 0x22, 0x06, 0x6C, 0x30, 0x31, 0x04,
|
||||||
|
0x30, 0x30, 0x42, 0x15, 0x15, 0x3D, 0x30, 0x30, 0x30, 0x02, 0x3A, 0x00, 0x0E, 0x30, 0x00, 0x21,
|
||||||
|
0x02, 0x30, 0x30, 0x30, 0x15, 0x15, 0x23, 0x30, 0x30, 0x30, 0x4C, 0x02, 0x2A, 0x30, 0x23, 0x30,
|
||||||
|
0x02, 0x30, 0x2E, 0x2E, 0x78, 0x30, 0x30, 0x30, 0x1C, 0x02, 0x30, 0x27, 0x30, 0x4C, 0x30, 0x71,
|
||||||
|
0x2A, 0x00, 0xAD, 0x22, 0x00, 0x0F, 0x71, 0x4C, 0x30, 0x2A, 0x30, 0x30, 0x30, 0x02, 0x15, 0x15,
|
||||||
|
0x02, 0x30, 0x30, 0x30, 0x02, 0x00, 0x0E, 0x30, 0x00, 0x22, 0x02, 0x30, 0x30, 0x30, 0x44, 0x15,
|
||||||
|
0x15, 0x44, 0x30, 0x30, 0x32, 0x4C, 0x78, 0x30, 0x32, 0x44, 0x30, 0x23, 0x30, 0x12, 0x30, 0x12,
|
||||||
|
0x30, 0x30, 0x30, 0x02, 0x30, 0x32, 0x32, 0x30, 0x39, 0x2E, 0x4B, 0x22, 0x00, 0x00, 0x00, 0x40,
|
||||||
|
0x22, 0x05, 0x4B, 0x2E, 0x30, 0x39, 0x30, 0x30, 0x30, 0x32, 0x1F, 0x15, 0x1C, 0x30, 0x32, 0x1C,
|
||||||
|
0x32, 0x1C, 0x30, 0x04, 0x30, 0x42, 0x1C, 0x30, 0x32, 0x30, 0x04, 0x30, 0x1C, 0x1C, 0x30, 0x02,
|
||||||
|
0x30, 0x32, 0x30, 0x32, 0x44, 0x42, 0x30, 0x30, 0x30, 0x4C, 0x04, 0x3F, 0x4C, 0x01, 0x30, 0x4C,
|
||||||
|
0x4C, 0x78, 0x30, 0x12, 0x30, 0x32, 0x30, 0x32, 0x44, 0x30, 0x02, 0x30, 0x31, 0x62, 0x4B, 0x37,
|
||||||
|
0xAD, 0x22, 0x00, 0x3F, 0x0D, 0x6C, 0x30, 0x39, 0x62, 0x30, 0x30, 0x1C, 0x44, 0x15, 0x23, 0x30,
|
||||||
|
0x1C, 0x42, 0x1C, 0x32, 0x30, 0x1C, 0x1C, 0x30, 0x32, 0x30, 0x42, 0x1C, 0x3A, 0x32, 0x30, 0x32,
|
||||||
|
0x30, 0x32, 0x1C, 0x30, 0x04, 0x3A, 0x02, 0x32, 0x1C, 0x30, 0x30, 0x32, 0x4C, 0x2A, 0x4C, 0x78,
|
||||||
|
0x2E, 0x30, 0x01, 0x4C, 0x7A, 0x62, 0x7A, 0x30, 0x32, 0x30, 0x02, 0x30, 0x32, 0x32, 0x30, 0x2A,
|
||||||
|
0x4C, 0x46, 0x22, 0x00, 0x00, 0x00, 0x00, 0x40, 0x22, 0x22, 0x48, 0x78, 0x30, 0x2A, 0x30, 0x30,
|
||||||
|
0x3A, 0x23, 0x23, 0x32, 0x32, 0x42, 0x42, 0x44, 0x3A, 0x32, 0x42, 0x1C, 0x44, 0x3A, 0x44, 0x30,
|
||||||
|
0x1C, 0x44, 0x42, 0x44, 0x3A, 0x44, 0x3A, 0x1C, 0x44, 0x1C, 0x44, 0x30, 0x32, 0x42, 0x30, 0x30,
|
||||||
|
0x30, 0x4C, 0x2E, 0x21, 0x15, 0x73, 0x23, 0x3D, 0x15, 0x0A, 0x30, 0x12, 0x30, 0x02, 0x30, 0x32,
|
||||||
|
0x32, 0x30, 0x02, 0x30, 0x4C, 0x2E, 0x4B, 0x05, 0xAD, 0x22, 0x00, 0x3F, 0x1E, 0x4B, 0x02, 0x62,
|
||||||
|
0x39, 0x30, 0x30, 0x44, 0x23, 0x27, 0x32, 0x44, 0x3A, 0x32, 0x42, 0x42, 0x44, 0x3A, 0x32, 0x42,
|
||||||
|
0x1C, 0x02, 0x3A, 0x44, 0x30, 0x32, 0x42, 0x1C, 0x44, 0x3A, 0x44, 0x1C, 0x32, 0x04, 0x1C, 0x44,
|
||||||
|
0x30, 0x30, 0x30, 0x32, 0x4C, 0x12, 0x15, 0x15, 0x1F, 0x23, 0x15, 0x15, 0x7A, 0x2E, 0x3D, 0x30,
|
||||||
|
0x02, 0x30, 0x44, 0x30, 0x44, 0x42, 0x62, 0x2E, 0x78, 0x01, 0x22, 0x00, 0x00, 0x00, 0x00, 0x3F,
|
||||||
|
0x22, 0x22, 0x15, 0x71, 0x30, 0x39, 0x62, 0x30, 0x30, 0x44, 0x44, 0x30, 0x32, 0x1C, 0x1C, 0x42,
|
||||||
|
0x30, 0x04, 0x3A, 0x32, 0x1C, 0x30, 0x44, 0x30, 0x32, 0x1C, 0x1C, 0x32, 0x30, 0x04, 0x3A, 0x32,
|
||||||
|
0x1C, 0x1C, 0x32, 0x30, 0x04, 0x3A, 0x42, 0x30, 0x30, 0x4C, 0x2E, 0x39, 0x32, 0x23, 0x32, 0x1F,
|
||||||
|
0x32, 0x7A, 0x30, 0x7A, 0x30, 0x27, 0x30, 0x32, 0x3A, 0x42, 0x44, 0x30, 0x31, 0x2A, 0x4B, 0x00,
|
||||||
|
0xAF, 0x22, 0x00, 0x3E, 0x48, 0x7A, 0x30, 0x2A, 0x30, 0x30, 0x3A, 0x27, 0x1C, 0x30, 0x44, 0x30,
|
||||||
|
0x32, 0x1C, 0x1C, 0x32, 0x30, 0x04, 0x3A, 0x32, 0x1C, 0x1C, 0x04, 0x30, 0x32, 0x3A, 0x32, 0x32,
|
||||||
|
0x30, 0x04, 0x3A, 0x32, 0x1C, 0x32, 0x1C, 0x1C, 0x1C, 0x30, 0x1C, 0x4C, 0x12, 0x32, 0x44, 0x44,
|
||||||
|
0x32, 0x27, 0x32, 0x4C, 0x2E, 0x3D, 0x30, 0x02, 0x30, 0x02, 0x30, 0x02, 0x30, 0x2E, 0x02, 0x01,
|
||||||
|
0x21, 0x22, 0x00, 0x00, 0x00, 0x3F, 0x22, 0x22, 0x03, 0x4B, 0x31, 0x62, 0x39, 0x30, 0x2E, 0x30,
|
||||||
|
0x04, 0x02, 0x42, 0x2E, 0x3A, 0x27, 0x04, 0x1C, 0x2E, 0x1C, 0x23, 0x30, 0x02, 0x44, 0x1C, 0x02,
|
||||||
|
0x3A, 0x23, 0x30, 0x02, 0x04, 0x42, 0x02, 0x3A, 0x23, 0x30, 0x02, 0x04, 0x1C, 0x30, 0x30, 0x7A,
|
||||||
|
0x2E, 0x2E, 0x30, 0x3D, 0x30, 0x3D, 0x30, 0x4C, 0x30, 0x78, 0x30, 0x49, 0x30, 0x1F, 0x30, 0x02,
|
||||||
|
0x04, 0x30, 0x2A, 0x7A, 0x75, 0x00, 0xAF, 0x22, 0x00, 0x3E, 0x06, 0x71, 0x30, 0x15, 0x62, 0x30,
|
||||||
|
0x2E, 0x1C, 0x2E, 0x30, 0x04, 0x02, 0x1C, 0x2E, 0x3A, 0x44, 0x32, 0x1C, 0x2E, 0x1C, 0x23, 0x30,
|
||||||
|
0x02, 0x04, 0x1C, 0x3D, 0x1C, 0x27, 0x30, 0x02, 0x04, 0x1C, 0x2E, 0x1C, 0x3D, 0x30, 0x3A, 0x30,
|
||||||
|
0x30, 0x4C, 0x78, 0x30, 0x02, 0x02, 0x30, 0x3D, 0x30, 0x39, 0x02, 0x2E, 0x04, 0x1F, 0x30, 0x39,
|
||||||
|
0x30, 0x39, 0x30, 0x39, 0x30, 0x4B, 0x15, 0x22, 0x00, 0x00, 0x00, 0x3F, 0x22, 0x22, 0x22, 0x75,
|
||||||
|
0x3F, 0x30, 0x49, 0x04, 0x31, 0x2E, 0x04, 0x2E, 0x31, 0x73, 0x04, 0x02, 0x02, 0x04, 0x73, 0x04,
|
||||||
|
0x23, 0x31, 0x3D, 0x02, 0x04, 0x23, 0x04, 0x23, 0x02, 0x02, 0x23, 0x31, 0x3B, 0x04, 0x23, 0x04,
|
||||||
|
0x02, 0x02, 0x04, 0x04, 0x04, 0x12, 0x2E, 0x3D, 0x04, 0x39, 0x04, 0x39, 0x04, 0x7A, 0x30, 0x04,
|
||||||
|
0x30, 0x31, 0x30, 0x02, 0x30, 0x62, 0x04, 0x62, 0x62, 0x01, 0x3B, 0x00, 0xAF, 0x22, 0x00, 0x23,
|
||||||
|
0x05, 0x4B, 0x31, 0x02, 0x2A, 0x04, 0x49, 0x30, 0x02, 0x31, 0x02, 0x23, 0x04, 0x23, 0x04, 0x02,
|
||||||
|
0x02, 0x04, 0x73, 0x39, 0x39, 0x04, 0x02, 0x02, 0x04, 0x73, 0x04, 0x23, 0x04, 0x4C, 0x3D, 0x04,
|
||||||
|
0x73, 0x04, 0x23, 0x00, 0x04, 0x04, 0x00, 0x17, 0x4C, 0x3B, 0x04, 0x31, 0x27, 0x27, 0x31, 0x04,
|
||||||
|
0x4C, 0x30, 0x04, 0x04, 0x02, 0x30, 0x02, 0x30, 0x02, 0x30, 0x62, 0x04, 0x4B, 0x1E, 0x22, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x32, 0x22, 0x22, 0x22, 0x28, 0x4B, 0x2E, 0x7A, 0x30, 0x04, 0x2A, 0x2E, 0x2E,
|
||||||
|
0x2A, 0x30, 0x47, 0x30, 0x23, 0x2E, 0x30, 0x78, 0x30, 0x4C, 0x7A, 0x30, 0x4C, 0x04, 0x30, 0x4C,
|
||||||
|
0x30, 0x4C, 0x30, 0x2A, 0x4C, 0x30, 0x4C, 0x42, 0x04, 0x2E, 0x30, 0x39, 0x30, 0x2A, 0x7A, 0x23,
|
||||||
|
0x30, 0x4C, 0x30, 0x4C, 0x30, 0x3F, 0x0B, 0x2E, 0x01, 0x71, 0x01, 0x00, 0xB0, 0x22, 0x00, 0x2F,
|
||||||
|
0x75, 0x3F, 0x2E, 0x4C, 0x30, 0x2A, 0x2E, 0x2E, 0x4C, 0x62, 0x30, 0x7A, 0x30, 0x2A, 0x30, 0x23,
|
||||||
|
0x2E, 0x30, 0x6C, 0x2A, 0x30, 0x7A, 0x30, 0x4C, 0x30, 0x2E, 0x2E, 0x30, 0x2A, 0x39, 0x30, 0x4C,
|
||||||
|
0x30, 0x4C, 0x30, 0x2E, 0x2E, 0x30, 0x7A, 0x3F, 0x30, 0x4C, 0x62, 0x2E, 0x31, 0x3A, 0x7A, 0x00,
|
||||||
|
0x0A, 0x2E, 0x00, 0x04, 0x2A, 0x4B, 0x22, 0x22, 0x00, 0x00, 0x04, 0x22, 0x01, 0x0D, 0x38, 0x4B,
|
||||||
|
0x01, 0x0D, 0xB1, 0x22, 0x01, 0x05, 0x01, 0x48, 0x37, 0x4B, 0x00, 0x04, 0x46, 0x0C, 0x22, 0x22,
|
||||||
|
0x00, 0x00, 0x06, 0x22, 0x00, 0x2C, 0x03, 0x00, 0x00, 0x19, 0x85, 0x19, 0x49, 0x0D, 0x49, 0x0D,
|
||||||
|
0x06, 0x49, 0x0D, 0x00, 0x4B, 0x7A, 0x2A, 0x78, 0x47, 0x7A, 0x78, 0x47, 0x78, 0x47, 0x78, 0x7A,
|
||||||
|
0x39, 0x78, 0x47, 0x78, 0x7A, 0x7A, 0x78, 0x47, 0x78, 0x49, 0x18, 0x0A, 0x0D, 0x49, 0x0D, 0x49,
|
||||||
|
0x0D, 0x28, 0xC0, 0x22, 0x00, 0x2C, 0x23, 0x00, 0x15, 0x05, 0x03, 0x05, 0x15, 0x49, 0x0C, 0x06,
|
||||||
|
0x15, 0x06, 0x00, 0x0A, 0x48, 0x3D, 0x47, 0x78, 0x47, 0x78, 0x47, 0x78, 0x7A, 0x7A, 0x78, 0x39,
|
||||||
|
0x47, 0x78, 0x47, 0x78, 0x47, 0x78, 0x7A, 0x7A, 0x78, 0x7A, 0x46, 0x49, 0x00, 0x00, 0x49, 0x15,
|
||||||
|
0x06, 0x36, 0x0B, 0x03, 0x03, 0x22, 0x00, 0x00, 0x09, 0x22, 0x00, 0x03, 0x15, 0x21, 0x21, 0x00,
|
||||||
|
0x08, 0x3B, 0x01, 0x45, 0x15, 0x4A, 0x01, 0x4B, 0x01, 0x0E, 0x09, 0x3B, 0x01, 0x12, 0x01, 0x28,
|
||||||
|
0xBE, 0x22, 0x01, 0x0D, 0x09, 0x21, 0x01, 0x75, 0x01, 0x18, 0x15, 0x4A, 0x01, 0x45, 0x01, 0x3B,
|
||||||
|
0x09, 0x21, 0x01, 0x28, 0x0A, 0x22, 0x00, 0x00, 0x08, 0x22, 0x01, 0x0A, 0x01, 0x22, 0x2B, 0x18,
|
||||||
|
0x01, 0x45, 0x01, 0x45, 0x21, 0x22, 0x00, 0x04, 0x57, 0x4E, 0x4E, 0x4E, 0x81, 0x22, 0x04, 0x4E,
|
||||||
|
0x13, 0x22, 0x01, 0x45, 0x01, 0x45, 0x2A, 0x18, 0x00, 0x03, 0x38, 0x22, 0x20, 0x00, 0x09, 0x22,
|
||||||
|
0x00, 0x00, 0x09, 0x22, 0x01, 0x2A, 0x2B, 0x30, 0x00, 0x03, 0x42, 0x22, 0x00, 0x00, 0x0F, 0x22,
|
||||||
|
0x01, 0x57, 0x04, 0x4D, 0x01, 0x52, 0x09, 0x22, 0x01, 0x5C, 0x01, 0x56, 0x04, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x4F, 0x07, 0x22, 0x04, 0x4D, 0x01, 0x5D, 0x06, 0x22, 0x05, 0x4D, 0x01, 0x4F, 0x01, 0x22,
|
||||||
|
0x0D, 0x4D, 0x00, 0x06, 0x22, 0x22, 0x5E, 0x4D, 0x4D, 0x4D, 0x09, 0x22, 0x00, 0x03, 0x5E, 0x4D,
|
||||||
|
0x4D, 0x00, 0x13, 0x22, 0x01, 0x5A, 0x04, 0x4D, 0x04, 0x22, 0x01, 0x4E, 0x04, 0x4D, 0x00, 0x04,
|
||||||
|
0x52, 0x22, 0x22, 0x57, 0x04, 0x4D, 0x00, 0x09, 0x4F, 0x22, 0x22, 0x22, 0x57, 0x4D, 0x4D, 0x4D,
|
||||||
|
0x4E, 0x00, 0x09, 0x22, 0x00, 0x03, 0x4D, 0x4D, 0x52, 0x00, 0x07, 0x22, 0x01, 0x58, 0x05, 0x84,
|
||||||
|
0x01, 0x50, 0x01, 0x4F, 0x10, 0x22, 0x01, 0x2D, 0x01, 0x22, 0x2C, 0x30, 0x01, 0x12, 0x01, 0x71,
|
||||||
|
0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x00, 0x29, 0x2F, 0x00, 0x04, 0x34, 0x30,
|
||||||
|
0x22, 0x15, 0x10, 0x22, 0x04, 0x84, 0x01, 0x4D, 0x08, 0x22, 0x01, 0x52, 0x08, 0x84, 0x01, 0x59,
|
||||||
|
0x06, 0x22, 0x01, 0x4D, 0x04, 0x84, 0x05, 0x22, 0x01, 0x52, 0x05, 0x84, 0x01, 0x5C, 0x01, 0x22,
|
||||||
|
0x0D, 0x84, 0x00, 0x06, 0x4E, 0x22, 0x4F, 0x84, 0x84, 0x84, 0x09, 0x22, 0x00, 0x03, 0x50, 0x84,
|
||||||
|
0x84, 0x00, 0x13, 0x22, 0x01, 0x4D, 0x04, 0x84, 0x04, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x04,
|
||||||
|
0x4E, 0x22, 0x22, 0x4E, 0x04, 0x84, 0x00, 0x09, 0x4F, 0x22, 0x22, 0x22, 0x4E, 0x84, 0x84, 0x84,
|
||||||
|
0x4E, 0x00, 0x08, 0x22, 0x00, 0x04, 0x5D, 0x84, 0x84, 0x4E, 0x05, 0x22, 0x01, 0x52, 0x09, 0x84,
|
||||||
|
0x01, 0x58, 0x0F, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x7E, 0x29, 0x5B, 0x00, 0x03, 0x27, 0x12,
|
||||||
|
0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x29, 0x80, 0x00, 0x04,
|
||||||
|
0x2F, 0x30, 0x22, 0x00, 0x10, 0x22, 0x00, 0x05, 0x56, 0x84, 0x84, 0x84, 0x50, 0x00, 0x08, 0x22,
|
||||||
|
0x01, 0x50, 0x09, 0x84, 0x01, 0x50, 0x05, 0x22, 0x01, 0x4D, 0x04, 0x84, 0x05, 0x22, 0x01, 0x56,
|
||||||
|
0x04, 0x84, 0x00, 0x04, 0x56, 0x22, 0x22, 0x59, 0x0C, 0x84, 0x00, 0x06, 0x4E, 0x22, 0x4F, 0x84,
|
||||||
|
0x84, 0x84, 0x08, 0x22, 0x00, 0x04, 0x4F, 0x84, 0x84, 0x84, 0x13, 0x22, 0x01, 0x59, 0x04, 0x84,
|
||||||
|
0x04, 0x22, 0x01, 0x5A, 0x04, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x5E, 0x04, 0x84, 0x00, 0x08,
|
||||||
|
0x52, 0x22, 0x22, 0x22, 0x4F, 0x84, 0x84, 0x84, 0x08, 0x22, 0x00, 0x04, 0x52, 0x84, 0x84, 0x84,
|
||||||
|
0x05, 0x22, 0x01, 0x5A, 0x0B, 0x84, 0x01, 0x52, 0x0E, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x29, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x33, 0x29, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x00, 0x10, 0x22, 0x01, 0x5D, 0x04, 0x84,
|
||||||
|
0x07, 0x22, 0x01, 0x4F, 0x0B, 0x84, 0x01, 0x59, 0x04, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x05,
|
||||||
|
0x4E, 0x22, 0x22, 0x22, 0x4E, 0x00, 0x05, 0x84, 0x00, 0x04, 0x52, 0x22, 0x22, 0x4D, 0x0C, 0x84,
|
||||||
|
0x00, 0x06, 0x4E, 0x22, 0x4F, 0x84, 0x84, 0x84, 0x08, 0x22, 0x00, 0x04, 0x50, 0x84, 0x84, 0x84,
|
||||||
|
0x13, 0x22, 0x04, 0x84, 0x01, 0x4D, 0x04, 0x22, 0x01, 0x4D, 0x04, 0x84, 0x00, 0x04, 0x22, 0x22,
|
||||||
|
0x22, 0x4F, 0x04, 0x84, 0x00, 0x08, 0x4E, 0x22, 0x22, 0x22, 0x58, 0x84, 0x84, 0x56, 0x08, 0x22,
|
||||||
|
0x00, 0x04, 0x50, 0x84, 0x84, 0x56, 0x04, 0x22, 0x01, 0x52, 0x0C, 0x84, 0x01, 0x59, 0x0E, 0x22,
|
||||||
|
0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x29, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22,
|
||||||
|
0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x0C, 0x80, 0x00, 0x05, 0x69, 0x16, 0x16, 0x16,
|
||||||
|
0x69, 0x00, 0x07, 0x80, 0x00, 0x05, 0x24, 0x16, 0x16, 0x16, 0x24, 0x00, 0x0C, 0x80, 0x00, 0x04,
|
||||||
|
0x2F, 0x30, 0x22, 0x15, 0x10, 0x22, 0x01, 0x5E, 0x04, 0x84, 0x01, 0x52, 0x06, 0x22, 0x00, 0x09,
|
||||||
|
0x56, 0x84, 0x84, 0x84, 0x50, 0x52, 0x57, 0x5C, 0x59, 0x00, 0x04, 0x84, 0x00, 0x05, 0x4F, 0x22,
|
||||||
|
0x22, 0x22, 0x4F, 0x00, 0x04, 0x84, 0x00, 0x05, 0x4E, 0x22, 0x22, 0x22, 0x5D, 0x00, 0x04, 0x84,
|
||||||
|
0x00, 0x05, 0x50, 0x22, 0x22, 0x22, 0x4D, 0x00, 0x04, 0x84, 0x08, 0x4D, 0x00, 0x06, 0x57, 0x22,
|
||||||
|
0x4F, 0x84, 0x84, 0x84, 0x07, 0x22, 0x00, 0x05, 0x4F, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x13, 0x22,
|
||||||
|
0x04, 0x84, 0x01, 0x4D, 0x04, 0x22, 0x00, 0x09, 0x56, 0x84, 0x84, 0x84, 0x56, 0x22, 0x22, 0x22,
|
||||||
|
0x4D, 0x00, 0x04, 0x84, 0x04, 0x22, 0x00, 0x04, 0x4D, 0x84, 0x84, 0x4D, 0x07, 0x22, 0x00, 0x09,
|
||||||
|
0x4D, 0x84, 0x84, 0x84, 0x58, 0x22, 0x22, 0x22, 0x57, 0x00, 0x05, 0x84, 0x00, 0x04, 0x50, 0x5D,
|
||||||
|
0x58, 0x50, 0x05, 0x84, 0x0E, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x11, 0x82, 0x00, 0x09,
|
||||||
|
0x64, 0x2C, 0x1D, 0x60, 0x60, 0x60, 0x1D, 0x2C, 0x64, 0x00, 0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12,
|
||||||
|
0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x0D, 0x80, 0x00, 0x04,
|
||||||
|
0x63, 0x85, 0x85, 0x26, 0x07, 0x80, 0x00, 0x05, 0x6A, 0x85, 0x85, 0x85, 0x16, 0x00, 0x0C, 0x80,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x00, 0x10, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x5A, 0x06, 0x22,
|
||||||
|
0x04, 0x84, 0x01, 0x52, 0x04, 0x22, 0x00, 0x09, 0x56, 0x84, 0x84, 0x84, 0x50, 0x22, 0x22, 0x22,
|
||||||
|
0x4E, 0x00, 0x04, 0x84, 0x00, 0x04, 0x4F, 0x22, 0x22, 0x22, 0x05, 0x84, 0x00, 0x05, 0x4F, 0x22,
|
||||||
|
0x22, 0x22, 0x5D, 0x00, 0x04, 0x84, 0x0A, 0x22, 0x00, 0x04, 0x4F, 0x84, 0x84, 0x84, 0x07, 0x22,
|
||||||
|
0x00, 0x05, 0x50, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x13, 0x22, 0x04, 0x84, 0x01, 0x5D, 0x04, 0x22,
|
||||||
|
0x04, 0x84, 0x00, 0x05, 0x5D, 0x22, 0x22, 0x22, 0x4D, 0x00, 0x04, 0x84, 0x04, 0x22, 0x00, 0x04,
|
||||||
|
0x84, 0x84, 0x84, 0x4F, 0x06, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x05, 0x5E, 0x22, 0x22, 0x22,
|
||||||
|
0x4D, 0x00, 0x04, 0x84, 0x01, 0x59, 0x04, 0x22, 0x01, 0x59, 0x04, 0x84, 0x0E, 0x22, 0x00, 0x04,
|
||||||
|
0x2D, 0x22, 0x30, 0x5B, 0x10, 0x82, 0x01, 0x14, 0x01, 0x67, 0x07, 0x85, 0x01, 0x14, 0x0F, 0x82,
|
||||||
|
0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33,
|
||||||
|
0x0D, 0x80, 0x00, 0x04, 0x26, 0x85, 0x85, 0x6A, 0x06, 0x80, 0x01, 0x69, 0x04, 0x85, 0x01, 0x69,
|
||||||
|
0x0C, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x00, 0x11, 0x22, 0x04, 0x84, 0x01, 0x4D, 0x05, 0x22,
|
||||||
|
0x01, 0x4E, 0x04, 0x84, 0x01, 0x4E, 0x04, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x04, 0x5E, 0x22,
|
||||||
|
0x22, 0x4E, 0x04, 0x84, 0x00, 0x04, 0x4F, 0x22, 0x22, 0x5A, 0x05, 0x84, 0x04, 0x22, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x01, 0x4E, 0x09, 0x22, 0x00, 0x04, 0x4F, 0x84, 0x84, 0x84, 0x06, 0x22, 0x01, 0x58,
|
||||||
|
0x04, 0x84, 0x01, 0x4D, 0x12, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x05, 0x4F, 0x22, 0x22, 0x22,
|
||||||
|
0x4E, 0x00, 0x04, 0x84, 0x00, 0x04, 0x4F, 0x22, 0x22, 0x22, 0x04, 0x84, 0x01, 0x4D, 0x04, 0x22,
|
||||||
|
0x00, 0x04, 0x84, 0x84, 0x84, 0x52, 0x05, 0x22, 0x01, 0x57, 0x05, 0x84, 0x00, 0x04, 0x4E, 0x22,
|
||||||
|
0x22, 0x4E, 0x04, 0x84, 0x01, 0x59, 0x05, 0x22, 0x00, 0x05, 0x5E, 0x84, 0x84, 0x84, 0x5D, 0x00,
|
||||||
|
0x0E, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0F, 0x82, 0x01, 0x1D, 0x09, 0x85, 0x01, 0x14,
|
||||||
|
0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x33, 0x0D, 0x80, 0x00, 0x05, 0x24, 0x85, 0x85, 0x85, 0x09, 0x00, 0x05, 0x80, 0x00, 0x05,
|
||||||
|
0x16, 0x85, 0x85, 0x85, 0x6E, 0x00, 0x0D, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x15, 0x11, 0x22,
|
||||||
|
0x01, 0x4D, 0x04, 0x84, 0x05, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x57, 0x05, 0x22, 0x00, 0x08,
|
||||||
|
0x56, 0x84, 0x84, 0x84, 0x56, 0x22, 0x22, 0x22, 0x04, 0x84, 0x00, 0x04, 0x5D, 0x22, 0x22, 0x50,
|
||||||
|
0x04, 0x84, 0x01, 0x58, 0x04, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x01, 0x4E, 0x09, 0x22, 0x00, 0x04,
|
||||||
|
0x4F, 0x84, 0x84, 0x84, 0x06, 0x22, 0x05, 0x84, 0x01, 0x4D, 0x12, 0x22, 0x01, 0x4E, 0x04, 0x84,
|
||||||
|
0x00, 0x05, 0x4F, 0x22, 0x22, 0x22, 0x4F, 0x00, 0x04, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x22,
|
||||||
|
0x04, 0x84, 0x00, 0x09, 0x5D, 0x22, 0x22, 0x22, 0x4E, 0x84, 0x84, 0x84, 0x4E, 0x00, 0x05, 0x22,
|
||||||
|
0x01, 0x59, 0x05, 0x84, 0x00, 0x04, 0x22, 0x22, 0x22, 0x4D, 0x04, 0x84, 0x01, 0x57, 0x05, 0x22,
|
||||||
|
0x00, 0x05, 0x58, 0x84, 0x84, 0x84, 0x5E, 0x00, 0x0E, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x0E, 0x82, 0x01, 0x14, 0x04, 0x85, 0x00, 0x07, 0x6D, 0x2C, 0x11, 0x11, 0x14, 0x70, 0x14, 0x00,
|
||||||
|
0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x33, 0x0E, 0x80, 0x00, 0x04, 0x63, 0x85, 0x85, 0x26, 0x05, 0x09, 0x00, 0x05, 0x6E, 0x85,
|
||||||
|
0x85, 0x85, 0x16, 0x00, 0x0D, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x00, 0x11, 0x22, 0x01, 0x5A,
|
||||||
|
0x04, 0x84, 0x01, 0x57, 0x04, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x4E, 0x05, 0x22, 0x01, 0x5A,
|
||||||
|
0x04, 0x84, 0x00, 0x03, 0x57, 0x22, 0x22, 0x00, 0x04, 0x84, 0x00, 0x03, 0x4D, 0x22, 0x52, 0x00,
|
||||||
|
0x05, 0x84, 0x05, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x01, 0x4E, 0x09, 0x22, 0x00, 0x04, 0x4F, 0x84,
|
||||||
|
0x84, 0x84, 0x05, 0x22, 0x01, 0x58, 0x05, 0x84, 0x01, 0x4D, 0x12, 0x22, 0x01, 0x4E, 0x04, 0x84,
|
||||||
|
0x00, 0x05, 0x52, 0x22, 0x22, 0x22, 0x5D, 0x00, 0x04, 0x84, 0x00, 0x04, 0x22, 0x22, 0x22, 0x4E,
|
||||||
|
0x04, 0x84, 0x00, 0x08, 0x4F, 0x22, 0x22, 0x22, 0x5E, 0x84, 0x84, 0x84, 0x05, 0x22, 0x01, 0x5A,
|
||||||
|
0x05, 0x84, 0x00, 0x04, 0x59, 0x22, 0x22, 0x57, 0x04, 0x84, 0x01, 0x58, 0x06, 0x22, 0x00, 0x05,
|
||||||
|
0x56, 0x84, 0x84, 0x84, 0x57, 0x00, 0x0E, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82,
|
||||||
|
0x00, 0x07, 0x64, 0x67, 0x85, 0x85, 0x85, 0x74, 0x64, 0x00, 0x15, 0x82, 0x00, 0x03, 0x1F, 0x12,
|
||||||
|
0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x0E, 0x80, 0x01, 0x26,
|
||||||
|
0x0C, 0x85, 0x01, 0x69, 0x0D, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x00, 0x11, 0x22, 0x01, 0x52,
|
||||||
|
0x04, 0x84, 0x01, 0x52, 0x04, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x4E, 0x05, 0x22, 0x01, 0x4E,
|
||||||
|
0x04, 0x84, 0x00, 0x0A, 0x4F, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x84, 0x56, 0x22, 0x56, 0x04, 0x84,
|
||||||
|
0x01, 0x5D, 0x05, 0x22, 0x01, 0x52, 0x04, 0x84, 0x01, 0x4E, 0x09, 0x22, 0x00, 0x04, 0x4F, 0x84,
|
||||||
|
0x84, 0x84, 0x05, 0x22, 0x06, 0x84, 0x01, 0x4D, 0x12, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x0D,
|
||||||
|
0x4E, 0x22, 0x22, 0x22, 0x50, 0x84, 0x84, 0x84, 0x5D, 0x22, 0x22, 0x22, 0x5C, 0x00, 0x04, 0x84,
|
||||||
|
0x00, 0x08, 0x52, 0x22, 0x22, 0x22, 0x5A, 0x84, 0x84, 0x56, 0x04, 0x22, 0x01, 0x4E, 0x06, 0x84,
|
||||||
|
0x00, 0x04, 0x58, 0x22, 0x22, 0x58, 0x04, 0x84, 0x01, 0x4E, 0x06, 0x22, 0x00, 0x04, 0x84, 0x84,
|
||||||
|
0x84, 0x50, 0x0F, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x01, 0x2C, 0x04, 0x85,
|
||||||
|
0x01, 0x11, 0x16, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22,
|
||||||
|
0x01, 0x1F, 0x01, 0x33, 0x0E, 0x80, 0x01, 0x24, 0x0B, 0x85, 0x01, 0x6E, 0x0E, 0x80, 0x00, 0x04,
|
||||||
|
0x2F, 0x30, 0x22, 0x15, 0x12, 0x22, 0x04, 0x84, 0x01, 0x5A, 0x04, 0x22, 0x01, 0x4E, 0x04, 0x84,
|
||||||
|
0x01, 0x52, 0x06, 0x22, 0x04, 0x84, 0x00, 0x04, 0x4D, 0x22, 0x22, 0x4D, 0x04, 0x84, 0x01, 0x58,
|
||||||
|
0x05, 0x84, 0x01, 0x4E, 0x05, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x52, 0x09, 0x22, 0x00, 0x04,
|
||||||
|
0x4F, 0x84, 0x84, 0x84, 0x04, 0x22, 0x01, 0x58, 0x06, 0x84, 0x01, 0x4D, 0x12, 0x22, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x5C, 0x04, 0x84, 0x00, 0x05, 0x52, 0x22, 0x22, 0x22,
|
||||||
|
0x4F, 0x00, 0x04, 0x84, 0x00, 0x08, 0x4E, 0x22, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x4D, 0x04, 0x22,
|
||||||
|
0x01, 0x56, 0x06, 0x84, 0x00, 0x08, 0x5E, 0x22, 0x22, 0x50, 0x84, 0x84, 0x84, 0x56, 0x06, 0x22,
|
||||||
|
0x00, 0x05, 0x52, 0x84, 0x84, 0x84, 0x5D, 0x00, 0x0F, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x0D, 0x82, 0x00, 0x05, 0x1D, 0x85, 0x85, 0x85, 0x6D, 0x00, 0x17, 0x82, 0x00, 0x03, 0x1F, 0x12,
|
||||||
|
0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x0F, 0x80, 0x00, 0x0C,
|
||||||
|
0x63, 0x85, 0x85, 0x61, 0x16, 0x16, 0x16, 0x63, 0x85, 0x85, 0x85, 0x16, 0x0E, 0x80, 0x00, 0x04,
|
||||||
|
0x2F, 0x30, 0x22, 0x00, 0x12, 0x22, 0x00, 0x05, 0x50, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x04, 0x22,
|
||||||
|
0x01, 0x4E, 0x04, 0x84, 0x01, 0x4F, 0x06, 0x22, 0x00, 0x08, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x22,
|
||||||
|
0x22, 0x4F, 0x09, 0x84, 0x01, 0x4D, 0x06, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x4F, 0x09, 0x22,
|
||||||
|
0x00, 0x08, 0x4E, 0x84, 0x84, 0x84, 0x22, 0x22, 0x22, 0x57, 0x07, 0x84, 0x00, 0x04, 0x4D, 0x22,
|
||||||
|
0x22, 0x52, 0x0C, 0x4D, 0x00, 0x04, 0x5C, 0x22, 0x22, 0x4F, 0x04, 0x84, 0x00, 0x04, 0x22, 0x22,
|
||||||
|
0x22, 0x4D, 0x04, 0x84, 0x04, 0x22, 0x01, 0x58, 0x04, 0x84, 0x04, 0x22, 0x00, 0x08, 0x50, 0x84,
|
||||||
|
0x84, 0x4F, 0x22, 0x22, 0x22, 0x5D, 0x07, 0x84, 0x00, 0x03, 0x4E, 0x22, 0x57, 0x00, 0x04, 0x84,
|
||||||
|
0x01, 0x5A, 0x06, 0x22, 0x00, 0x05, 0x58, 0x84, 0x84, 0x84, 0x5E, 0x00, 0x0F, 0x22, 0x00, 0x04,
|
||||||
|
0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05, 0x60, 0x85, 0x85, 0x85, 0x70, 0x00, 0x17, 0x82,
|
||||||
|
0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33,
|
||||||
|
0x0F, 0x80, 0x00, 0x07, 0x26, 0x85, 0x85, 0x77, 0x80, 0x80, 0x69, 0x00, 0x04, 0x85, 0x01, 0x69,
|
||||||
|
0x0E, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x00, 0x12, 0x22, 0x01, 0x4D, 0x04, 0x84, 0x05, 0x22,
|
||||||
|
0x04, 0x84, 0x01, 0x58, 0x06, 0x22, 0x01, 0x5A, 0x04, 0x84, 0x00, 0x03, 0x22, 0x22, 0x4F, 0x00,
|
||||||
|
0x09, 0x84, 0x01, 0x52, 0x06, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x4F, 0x09, 0x22, 0x00, 0x08,
|
||||||
|
0x4E, 0x84, 0x84, 0x84, 0x22, 0x22, 0x22, 0x4D, 0x07, 0x84, 0x00, 0x04, 0x4D, 0x22, 0x22, 0x5A,
|
||||||
|
0x0C, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x4D, 0x04, 0x84, 0x00, 0x03, 0x22, 0x22, 0x5C, 0x00,
|
||||||
|
0x04, 0x84, 0x01, 0x58, 0x04, 0x22, 0x00, 0x05, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x00, 0x04, 0x22,
|
||||||
|
0x00, 0x07, 0x84, 0x84, 0x84, 0x52, 0x22, 0x22, 0x5C, 0x00, 0x08, 0x84, 0x00, 0x03, 0x22, 0x22,
|
||||||
|
0x4F, 0x00, 0x04, 0x84, 0x00, 0x0C, 0x4E, 0x22, 0x22, 0x22, 0x5E, 0x4F, 0x4F, 0x56, 0x84, 0x84,
|
||||||
|
0x84, 0x57, 0x0F, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05, 0x60, 0x85,
|
||||||
|
0x85, 0x85, 0x14, 0x00, 0x17, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00,
|
||||||
|
0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x0F, 0x80, 0x00, 0x0B, 0x24, 0x85, 0x85, 0x85, 0x69, 0x80,
|
||||||
|
0x16, 0x85, 0x85, 0x85, 0x77, 0x00, 0x0F, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x15, 0x12, 0x22,
|
||||||
|
0x01, 0x4F, 0x04, 0x84, 0x01, 0x57, 0x04, 0x22, 0x00, 0x05, 0x50, 0x84, 0x84, 0x84, 0x4D, 0x00,
|
||||||
|
0x06, 0x22, 0x01, 0x52, 0x04, 0x84, 0x00, 0x03, 0x4E, 0x22, 0x4E, 0x00, 0x08, 0x84, 0x01, 0x56,
|
||||||
|
0x08, 0x22, 0x08, 0x84, 0x00, 0x0D, 0x59, 0x4D, 0x57, 0x22, 0x22, 0x22, 0x4E, 0x84, 0x84, 0x84,
|
||||||
|
0x22, 0x22, 0x4E, 0x00, 0x05, 0x84, 0x00, 0x07, 0x56, 0x84, 0x84, 0x4D, 0x22, 0x22, 0x4D, 0x00,
|
||||||
|
0x0C, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x4D, 0x04, 0x84, 0x00, 0x07, 0x4E, 0x5E, 0x50, 0x84,
|
||||||
|
0x84, 0x84, 0x50, 0x00, 0x05, 0x22, 0x00, 0x10, 0x56, 0x84, 0x84, 0x84, 0x4D, 0x22, 0x22, 0x22,
|
||||||
|
0x4E, 0x84, 0x84, 0x84, 0x4E, 0x22, 0x22, 0x50, 0x04, 0x84, 0x00, 0x0B, 0x50, 0x84, 0x84, 0x59,
|
||||||
|
0x22, 0x22, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x00, 0x04, 0x22, 0x06, 0x84, 0x01, 0x50, 0x10, 0x22,
|
||||||
|
0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05, 0x60, 0x85, 0x85, 0x85, 0x14, 0x00,
|
||||||
|
0x17, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x33, 0x10, 0x80, 0x00, 0x0A, 0x63, 0x85, 0x85, 0x24, 0x80, 0x6E, 0x85, 0x85, 0x85, 0x24,
|
||||||
|
0x0F, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x00, 0x12, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x52,
|
||||||
|
0x04, 0x22, 0x01, 0x4D, 0x04, 0x84, 0x06, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x03, 0x4F, 0x22,
|
||||||
|
0x4E, 0x00, 0x08, 0x84, 0x01, 0x5E, 0x08, 0x22, 0x0A, 0x84, 0x00, 0x0B, 0x52, 0x22, 0x22, 0x22,
|
||||||
|
0x4E, 0x84, 0x84, 0x84, 0x22, 0x22, 0x4D, 0x00, 0x04, 0x84, 0x00, 0x08, 0x58, 0x4D, 0x84, 0x84,
|
||||||
|
0x4D, 0x22, 0x22, 0x4D, 0x0C, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x4D, 0x0A, 0x84, 0x01, 0x52,
|
||||||
|
0x05, 0x22, 0x04, 0x84, 0x00, 0x0B, 0x58, 0x22, 0x22, 0x22, 0x52, 0x84, 0x84, 0x84, 0x22, 0x22,
|
||||||
|
0x4D, 0x00, 0x04, 0x84, 0x00, 0x07, 0x5D, 0x59, 0x84, 0x84, 0x58, 0x22, 0x22, 0x00, 0x04, 0x84,
|
||||||
|
0x00, 0x05, 0x4D, 0x22, 0x22, 0x22, 0x5C, 0x00, 0x06, 0x84, 0x01, 0x58, 0x10, 0x22, 0x00, 0x04,
|
||||||
|
0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05, 0x60, 0x85, 0x85, 0x85, 0x14, 0x00, 0x17, 0x82,
|
||||||
|
0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33,
|
||||||
|
0x10, 0x80, 0x00, 0x05, 0x26, 0x85, 0x85, 0x77, 0x69, 0x00, 0x04, 0x85, 0x01, 0x69, 0x0F, 0x80,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x0C, 0x13, 0x22, 0x04, 0x84, 0x01, 0x5A, 0x04, 0x22, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x07, 0x22, 0x04, 0x84, 0x00, 0x03, 0x4F, 0x22, 0x22, 0x00, 0x07, 0x84, 0x01, 0x50,
|
||||||
|
0x09, 0x22, 0x0A, 0x84, 0x00, 0x0A, 0x4F, 0x22, 0x22, 0x22, 0x4E, 0x84, 0x84, 0x84, 0x22, 0x4E,
|
||||||
|
0x05, 0x84, 0x00, 0x08, 0x22, 0x4D, 0x84, 0x84, 0x5A, 0x22, 0x22, 0x4D, 0x0C, 0x84, 0x00, 0x04,
|
||||||
|
0x22, 0x22, 0x22, 0x50, 0x09, 0x84, 0x01, 0x52, 0x06, 0x22, 0x04, 0x84, 0x00, 0x0A, 0x4F, 0x22,
|
||||||
|
0x22, 0x22, 0x4F, 0x84, 0x84, 0x56, 0x22, 0x5E, 0x04, 0x84, 0x00, 0x08, 0x50, 0x51, 0x84, 0x84,
|
||||||
|
0x84, 0x5E, 0x22, 0x57, 0x04, 0x84, 0x00, 0x05, 0x4F, 0x22, 0x22, 0x22, 0x4F, 0x00, 0x06, 0x84,
|
||||||
|
0x01, 0x52, 0x10, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05, 0x60, 0x85,
|
||||||
|
0x85, 0x85, 0x60, 0x00, 0x17, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00,
|
||||||
|
0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x10, 0x80, 0x00, 0x09, 0x24, 0x85, 0x85, 0x63, 0x16, 0x85,
|
||||||
|
0x85, 0x85, 0x77, 0x00, 0x10, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x13, 0x22, 0x00, 0x05,
|
||||||
|
0x56, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x04, 0x22, 0x01, 0x5C, 0x04, 0x84, 0x01, 0x4E, 0x06, 0x22,
|
||||||
|
0x04, 0x84, 0x00, 0x03, 0x4D, 0x22, 0x22, 0x00, 0x07, 0x84, 0x01, 0x56, 0x09, 0x22, 0x01, 0x56,
|
||||||
|
0x09, 0x84, 0x00, 0x0A, 0x4F, 0x22, 0x22, 0x22, 0x4E, 0x84, 0x84, 0x84, 0x22, 0x4D, 0x04, 0x84,
|
||||||
|
0x00, 0x09, 0x58, 0x22, 0x4D, 0x84, 0x84, 0x4F, 0x22, 0x22, 0x57, 0x00, 0x07, 0x4E, 0x05, 0x4F,
|
||||||
|
0x00, 0x03, 0x22, 0x22, 0x22, 0x00, 0x09, 0x84, 0x01, 0x4D, 0x06, 0x22, 0x01, 0x4E, 0x04, 0x84,
|
||||||
|
0x00, 0x0A, 0x5C, 0x22, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x4D, 0x57, 0x50, 0x04, 0x84, 0x00, 0x08,
|
||||||
|
0x5C, 0x57, 0x84, 0x84, 0x84, 0x4E, 0x22, 0x5E, 0x04, 0x84, 0x00, 0x05, 0x4E, 0x22, 0x22, 0x22,
|
||||||
|
0x5A, 0x00, 0x06, 0x4D, 0x11, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05,
|
||||||
|
0x14, 0x85, 0x85, 0x85, 0x67, 0x00, 0x17, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22,
|
||||||
|
0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x11, 0x80, 0x01, 0x63, 0x06, 0x85, 0x01, 0x24,
|
||||||
|
0x10, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x13, 0x22, 0x01, 0x58, 0x04, 0x84, 0x05, 0x22,
|
||||||
|
0x04, 0x84, 0x01, 0x4F, 0x06, 0x22, 0x00, 0x08, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x22, 0x22, 0x4D,
|
||||||
|
0x07, 0x84, 0x01, 0x4F, 0x08, 0x22, 0x01, 0x4D, 0x09, 0x84, 0x00, 0x09, 0x4F, 0x22, 0x22, 0x22,
|
||||||
|
0x4E, 0x84, 0x84, 0x84, 0x52, 0x00, 0x05, 0x84, 0x00, 0x06, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x4F,
|
||||||
|
0x12, 0x22, 0x0B, 0x84, 0x01, 0x5C, 0x04, 0x22, 0x01, 0x5E, 0x04, 0x84, 0x00, 0x09, 0x4E, 0x22,
|
||||||
|
0x22, 0x22, 0x59, 0x84, 0x84, 0x4F, 0x59, 0x00, 0x04, 0x84, 0x00, 0x09, 0x5D, 0x22, 0x52, 0x84,
|
||||||
|
0x84, 0x84, 0x22, 0x22, 0x5A, 0x00, 0x04, 0x84, 0x1C, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x0D, 0x82, 0x01, 0x11, 0x04, 0x85, 0x01, 0x14, 0x16, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00,
|
||||||
|
0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x11, 0x80, 0x01, 0x26, 0x05, 0x85,
|
||||||
|
0x01, 0x63, 0x11, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x13, 0x22, 0x01, 0x5E, 0x04, 0x84,
|
||||||
|
0x01, 0x57, 0x04, 0x22, 0x00, 0x05, 0x56, 0x84, 0x84, 0x84, 0x5D, 0x00, 0x06, 0x22, 0x00, 0x10,
|
||||||
|
0x4D, 0x84, 0x84, 0x84, 0x59, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x50, 0x84, 0x84, 0x84,
|
||||||
|
0x08, 0x22, 0x00, 0x05, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x09, 0x22, 0x01, 0x4E, 0x08, 0x84,
|
||||||
|
0x00, 0x07, 0x58, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x4F, 0x00, 0x11, 0x22, 0x01, 0x57, 0x04, 0x84,
|
||||||
|
0x00, 0x03, 0x4D, 0x4F, 0x5A, 0x00, 0x04, 0x84, 0x01, 0x56, 0x04, 0x22, 0x01, 0x4F, 0x04, 0x84,
|
||||||
|
0x04, 0x22, 0x00, 0x04, 0x84, 0x84, 0x84, 0x56, 0x04, 0x84, 0x00, 0x0E, 0x50, 0x22, 0x22, 0x5A,
|
||||||
|
0x84, 0x84, 0x59, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x1C, 0x22, 0x00, 0x04, 0x2D, 0x22,
|
||||||
|
0x30, 0x5B, 0x0E, 0x82, 0x00, 0x06, 0x60, 0x85, 0x85, 0x85, 0x67, 0x11, 0x15, 0x82, 0x00, 0x03,
|
||||||
|
0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x11, 0x80,
|
||||||
|
0x01, 0x24, 0x05, 0x85, 0x01, 0x26, 0x11, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x13, 0x22,
|
||||||
|
0x01, 0x57, 0x04, 0x84, 0x01, 0x52, 0x04, 0x22, 0x00, 0x05, 0x58, 0x84, 0x84, 0x84, 0x50, 0x00,
|
||||||
|
0x06, 0x22, 0x01, 0x5A, 0x04, 0x84, 0x00, 0x03, 0x22, 0x22, 0x4F, 0x00, 0x04, 0x84, 0x00, 0x05,
|
||||||
|
0x4F, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x07, 0x22, 0x00, 0x05, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x00,
|
||||||
|
0x09, 0x22, 0x01, 0x4E, 0x08, 0x84, 0x00, 0x07, 0x22, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x4F, 0x00,
|
||||||
|
0x11, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x5E, 0x04, 0x84, 0x00, 0x0D,
|
||||||
|
0x57, 0x22, 0x22, 0x22, 0x5D, 0x84, 0x84, 0x84, 0x50, 0x22, 0x22, 0x22, 0x57, 0x00, 0x08, 0x84,
|
||||||
|
0x00, 0x0E, 0x5C, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x5A, 0x22, 0x22, 0x56, 0x84, 0x84, 0x84, 0x4D,
|
||||||
|
0x1C, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0E, 0x82, 0x01, 0x11, 0x01, 0x67, 0x04, 0x85,
|
||||||
|
0x00, 0x06, 0x1D, 0x2C, 0x2C, 0x14, 0x70, 0x14, 0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00,
|
||||||
|
0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x12, 0x80, 0x01, 0x63, 0x04, 0x85,
|
||||||
|
0x01, 0x24, 0x11, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x14, 0x22, 0x04, 0x84, 0x01, 0x5A,
|
||||||
|
0x04, 0x22, 0x01, 0x5C, 0x04, 0x84, 0x06, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x03, 0x22, 0x22,
|
||||||
|
0x4F, 0x00, 0x04, 0x84, 0x00, 0x06, 0x51, 0x56, 0x84, 0x84, 0x84, 0x5C, 0x06, 0x22, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x09, 0x22, 0x01, 0x4E, 0x07, 0x84, 0x00, 0x08, 0x58, 0x22, 0x22, 0x22, 0x4D, 0x84,
|
||||||
|
0x84, 0x4F, 0x11, 0x22, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x22, 0x04, 0x84,
|
||||||
|
0x00, 0x0D, 0x4E, 0x22, 0x22, 0x22, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x22, 0x22, 0x22, 0x5C, 0x00,
|
||||||
|
0x07, 0x84, 0x00, 0x0A, 0x5A, 0x22, 0x22, 0x22, 0x84, 0x84, 0x84, 0x52, 0x22, 0x22, 0x04, 0x84,
|
||||||
|
0x01, 0x4D, 0x1C, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0F, 0x82, 0x01, 0x11, 0x01, 0x67,
|
||||||
|
0x08, 0x85, 0x01, 0x14, 0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00,
|
||||||
|
0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x12, 0x80, 0x00, 0x05, 0x26, 0x85, 0x85, 0x85, 0x63, 0x00,
|
||||||
|
0x12, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x14, 0x22, 0x00, 0x05, 0x4D, 0x84, 0x84, 0x84,
|
||||||
|
0x4D, 0x00, 0x05, 0x22, 0x00, 0x05, 0x50, 0x84, 0x84, 0x84, 0x5E, 0x00, 0x05, 0x22, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x00, 0x03, 0x22, 0x22, 0x4E, 0x00, 0x04, 0x84, 0x00, 0x06, 0x4E, 0x5C, 0x84, 0x84,
|
||||||
|
0x84, 0x56, 0x06, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x0A, 0x22, 0x07, 0x84, 0x04, 0x22, 0x00, 0x04,
|
||||||
|
0x4D, 0x84, 0x84, 0x4F, 0x11, 0x22, 0x01, 0x52, 0x04, 0x84, 0x00, 0x04, 0x57, 0x22, 0x22, 0x22,
|
||||||
|
0x04, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x22, 0x04, 0x84, 0x00, 0x05, 0x58, 0x22, 0x22, 0x22,
|
||||||
|
0x4F, 0x00, 0x06, 0x84, 0x00, 0x0B, 0x56, 0x22, 0x22, 0x22, 0x57, 0x84, 0x84, 0x84, 0x57, 0x22,
|
||||||
|
0x22, 0x00, 0x04, 0x84, 0x01, 0x5A, 0x1C, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x10, 0x82,
|
||||||
|
0x01, 0x11, 0x01, 0x60, 0x07, 0x85, 0x01, 0x14, 0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00,
|
||||||
|
0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x12, 0x80, 0x00, 0x05, 0x09, 0x16,
|
||||||
|
0x16, 0x16, 0x24, 0x00, 0x12, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x14, 0x22, 0x01, 0x5A,
|
||||||
|
0x04, 0x84, 0x05, 0x22, 0x00, 0x05, 0x58, 0x84, 0x84, 0x84, 0x5D, 0x00, 0x05, 0x22, 0x00, 0x08,
|
||||||
|
0x4F, 0x84, 0x84, 0x84, 0x4D, 0x22, 0x22, 0x4E, 0x04, 0x84, 0x00, 0x07, 0x4E, 0x22, 0x4D, 0x84,
|
||||||
|
0x84, 0x84, 0x4F, 0x00, 0x05, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x0A, 0x22, 0x06, 0x84, 0x01, 0x58,
|
||||||
|
0x04, 0x22, 0x00, 0x04, 0x4D, 0x84, 0x84, 0x4F, 0x11, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x04,
|
||||||
|
0x22, 0x22, 0x22, 0x4E, 0x04, 0x84, 0x00, 0x04, 0x4E, 0x22, 0x22, 0x22, 0x04, 0x84, 0x00, 0x05,
|
||||||
|
0x4F, 0x22, 0x22, 0x22, 0x5D, 0x00, 0x06, 0x84, 0x00, 0x0B, 0x4E, 0x22, 0x22, 0x22, 0x52, 0x84,
|
||||||
|
0x84, 0x84, 0x22, 0x22, 0x22, 0x00, 0x04, 0x84, 0x01, 0x4D, 0x1C, 0x22, 0x00, 0x04, 0x2D, 0x22,
|
||||||
|
0x30, 0x5B, 0x12, 0x82, 0x00, 0x08, 0x11, 0x14, 0x1D, 0x60, 0x1D, 0x14, 0x2C, 0x64, 0x0F, 0x82,
|
||||||
|
0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33,
|
||||||
|
0x29, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x14, 0x22, 0x01, 0x5C, 0x04, 0x84, 0x01, 0x57,
|
||||||
|
0x05, 0x22, 0x04, 0x84, 0x05, 0x22, 0x00, 0x08, 0x4F, 0x84, 0x84, 0x84, 0x4D, 0x22, 0x22, 0x22,
|
||||||
|
0x04, 0x84, 0x00, 0x03, 0x4F, 0x22, 0x4E, 0x00, 0x04, 0x84, 0x05, 0x22, 0x01, 0x52, 0x04, 0x84,
|
||||||
|
0x0A, 0x22, 0x06, 0x84, 0x05, 0x22, 0x00, 0x04, 0x4D, 0x84, 0x84, 0x4F, 0x11, 0x22, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x00, 0x04, 0x22, 0x22, 0x22, 0x52, 0x04, 0x84, 0x00, 0x04, 0x22, 0x22, 0x22, 0x4E,
|
||||||
|
0x04, 0x84, 0x00, 0x05, 0x5C, 0x22, 0x22, 0x22, 0x4D, 0x00, 0x05, 0x84, 0x01, 0x5A, 0x04, 0x22,
|
||||||
|
0x00, 0x07, 0x5A, 0x84, 0x84, 0x4D, 0x22, 0x22, 0x22, 0x00, 0x04, 0x84, 0x01, 0x59, 0x1C, 0x22,
|
||||||
|
0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x29, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22,
|
||||||
|
0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x04, 0x80, 0x00, 0x21, 0x69, 0x09, 0x09, 0x69,
|
||||||
|
0x80, 0x80, 0x09, 0x09, 0x80, 0x09, 0x69, 0x80, 0x80, 0x09, 0x09, 0x80, 0x09, 0x09, 0x80, 0x69,
|
||||||
|
0x09, 0x69, 0x80, 0x69, 0x09, 0x09, 0x80, 0x80, 0x09, 0x69, 0x80, 0x80, 0x09, 0x00, 0x04, 0x80,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x15, 0x22, 0x04, 0x84, 0x01, 0x52, 0x05, 0x22, 0x00, 0x05,
|
||||||
|
0x58, 0x84, 0x84, 0x84, 0x5D, 0x00, 0x04, 0x22, 0x00, 0x08, 0x5D, 0x84, 0x84, 0x84, 0x5A, 0x22,
|
||||||
|
0x22, 0x22, 0x04, 0x84, 0x00, 0x08, 0x4F, 0x22, 0x22, 0x58, 0x84, 0x84, 0x84, 0x4D, 0x04, 0x22,
|
||||||
|
0x01, 0x4E, 0x04, 0x84, 0x01, 0x4E, 0x09, 0x22, 0x05, 0x84, 0x01, 0x58, 0x05, 0x22, 0x00, 0x04,
|
||||||
|
0x4D, 0x84, 0x84, 0x4F, 0x11, 0x22, 0x00, 0x09, 0x58, 0x84, 0x84, 0x84, 0x56, 0x22, 0x22, 0x22,
|
||||||
|
0x5D, 0x00, 0x04, 0x84, 0x00, 0x04, 0x22, 0x22, 0x22, 0x5C, 0x04, 0x84, 0x00, 0x04, 0x57, 0x22,
|
||||||
|
0x22, 0x22, 0x05, 0x84, 0x01, 0x56, 0x05, 0x22, 0x00, 0x07, 0x4D, 0x84, 0x84, 0x5A, 0x22, 0x22,
|
||||||
|
0x22, 0x00, 0x05, 0x84, 0x1C, 0x22, 0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x82, 0x11,
|
||||||
|
0x11, 0x11, 0x82, 0x82, 0x64, 0x11, 0x68, 0x68, 0x11, 0x82, 0x82, 0x64, 0x11, 0x68, 0x68, 0x11,
|
||||||
|
0x64, 0x82, 0x11, 0x11, 0x82, 0x82, 0x11, 0x11, 0x68, 0x82, 0x64, 0x11, 0x82, 0x82, 0x64, 0x68,
|
||||||
|
0x05, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x33, 0x04, 0x80, 0x00, 0x21, 0x85, 0x6A, 0x63, 0x85, 0x24, 0x80, 0x61, 0x61, 0x80, 0x6E,
|
||||||
|
0x26, 0x80, 0x69, 0x85, 0x26, 0x80, 0x85, 0x61, 0x80, 0x09, 0x85, 0x09, 0x09, 0x63, 0x6E, 0x63,
|
||||||
|
0x6E, 0x69, 0x85, 0x09, 0x80, 0x16, 0x85, 0x00, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D,
|
||||||
|
0x11, 0x22, 0x04, 0x4D, 0x04, 0x84, 0x00, 0x07, 0x56, 0x4D, 0x5A, 0x4F, 0x52, 0x22, 0x22, 0x00,
|
||||||
|
0x04, 0x84, 0x00, 0x04, 0x58, 0x22, 0x22, 0x52, 0x04, 0x84, 0x00, 0x15, 0x52, 0x22, 0x22, 0x22,
|
||||||
|
0x4D, 0x84, 0x84, 0x84, 0x5D, 0x22, 0x22, 0x22, 0x50, 0x84, 0x84, 0x84, 0x5C, 0x22, 0x22, 0x22,
|
||||||
|
0x4E, 0x00, 0x04, 0x84, 0x01, 0x5E, 0x06, 0x4E, 0x00, 0x03, 0x22, 0x22, 0x22, 0x00, 0x05, 0x84,
|
||||||
|
0x06, 0x22, 0x00, 0x04, 0x4D, 0x84, 0x84, 0x4F, 0x11, 0x22, 0x00, 0x08, 0x4D, 0x84, 0x84, 0x84,
|
||||||
|
0x4D, 0x22, 0x22, 0x52, 0x04, 0x84, 0x00, 0x05, 0x59, 0x22, 0x22, 0x22, 0x4F, 0x00, 0x04, 0x84,
|
||||||
|
0x04, 0x22, 0x05, 0x84, 0x01, 0x4E, 0x05, 0x22, 0x00, 0x08, 0x50, 0x84, 0x84, 0x52, 0x22, 0x22,
|
||||||
|
0x22, 0x4D, 0x04, 0x84, 0x01, 0x4D, 0x04, 0x22, 0x01, 0x4E, 0x01, 0x4D, 0x15, 0x22, 0x00, 0x28,
|
||||||
|
0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x11, 0x85, 0x74, 0x85, 0x67, 0x68, 0x11, 0x85, 0x14, 0x11,
|
||||||
|
0x85, 0x11, 0x82, 0x1D, 0x85, 0x11, 0x14, 0x85, 0x11, 0x82, 0x60, 0x85, 0x82, 0x1D, 0x85, 0x74,
|
||||||
|
0x85, 0x14, 0x11, 0x85, 0x82, 0x64, 0x74, 0x14, 0x05, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00,
|
||||||
|
0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x04, 0x80, 0x00, 0x21, 0x69, 0x80,
|
||||||
|
0x69, 0x85, 0x61, 0x80, 0x61, 0x61, 0x80, 0x16, 0x63, 0x61, 0x6E, 0x85, 0x09, 0x80, 0x85, 0x61,
|
||||||
|
0x80, 0x09, 0x85, 0x09, 0x77, 0x63, 0x80, 0x24, 0x85, 0x24, 0x85, 0x09, 0x24, 0x85, 0x85, 0x00,
|
||||||
|
0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x11, 0x22, 0x01, 0x59, 0x0B, 0x84, 0x00, 0x04,
|
||||||
|
0x59, 0x22, 0x22, 0x4F, 0x0B, 0x84, 0x04, 0x22, 0x00, 0x11, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x22,
|
||||||
|
0x22, 0x22, 0x4F, 0x84, 0x84, 0x84, 0x56, 0x22, 0x22, 0x22, 0x4E, 0x00, 0x0B, 0x84, 0x00, 0x03,
|
||||||
|
0x4F, 0x22, 0x22, 0x00, 0x04, 0x84, 0x01, 0x58, 0x06, 0x22, 0x00, 0x04, 0x50, 0x84, 0x84, 0x5E,
|
||||||
|
0x11, 0x22, 0x00, 0x07, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x4D, 0x56, 0x00, 0x05, 0x84, 0x00, 0x0D,
|
||||||
|
0x5A, 0x22, 0x22, 0x22, 0x5A, 0x84, 0x84, 0x84, 0x56, 0x22, 0x22, 0x22, 0x4E, 0x00, 0x04, 0x84,
|
||||||
|
0x01, 0x4F, 0x06, 0x22, 0x00, 0x08, 0x84, 0x84, 0x84, 0x57, 0x22, 0x22, 0x22, 0x5A, 0x05, 0x84,
|
||||||
|
0x00, 0x06, 0x56, 0x5A, 0x5A, 0x59, 0x84, 0x56, 0x15, 0x22, 0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x82, 0x82, 0x64, 0x82, 0x82, 0x1D, 0x85, 0x11, 0x11, 0x85, 0x14, 0x82, 0x6D, 0x6D, 0x60, 0x67,
|
||||||
|
0x6D, 0x82, 0x14, 0x85, 0x11, 0x82, 0x60, 0x85, 0x68, 0x85, 0x1D, 0x82, 0x60, 0x85, 0x11, 0x85,
|
||||||
|
0x82, 0x60, 0x85, 0x14, 0x05, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x18, 0x00, 0x09, 0x22, 0x00, 0x00,
|
||||||
|
0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x05, 0x80, 0x00, 0x20, 0x26, 0x63, 0x85, 0x16, 0x80, 0x61,
|
||||||
|
0x61, 0x80, 0x69, 0x85, 0x16, 0x6A, 0x6A, 0x80, 0x80, 0x85, 0x61, 0x80, 0x09, 0x85, 0x09, 0x61,
|
||||||
|
0x61, 0x80, 0x09, 0x85, 0x16, 0x85, 0x16, 0x85, 0x63, 0x85, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30,
|
||||||
|
0x22, 0x2D, 0x11, 0x22, 0x01, 0x58, 0x0C, 0x84, 0x00, 0x04, 0x22, 0x22, 0x22, 0x4D, 0x09, 0x84,
|
||||||
|
0x01, 0x58, 0x04, 0x22, 0x00, 0x05, 0x4F, 0x84, 0x84, 0x84, 0x56, 0x00, 0x04, 0x22, 0x00, 0x08,
|
||||||
|
0x56, 0x84, 0x84, 0x84, 0x4F, 0x22, 0x22, 0x22, 0x0B, 0x84, 0x00, 0x03, 0x4F, 0x22, 0x22, 0x00,
|
||||||
|
0x04, 0x84, 0x07, 0x22, 0x00, 0x04, 0x84, 0x84, 0x84, 0x4E, 0x11, 0x22, 0x01, 0x56, 0x0B, 0x84,
|
||||||
|
0x04, 0x22, 0x00, 0x0D, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x22, 0x22, 0x22, 0x4F, 0x84, 0x84, 0x84,
|
||||||
|
0x59, 0x00, 0x06, 0x22, 0x00, 0x04, 0x5C, 0x84, 0x84, 0x84, 0x04, 0x22, 0x01, 0x57, 0x0A, 0x84,
|
||||||
|
0x01, 0x58, 0x15, 0x22, 0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x82, 0x11, 0x74, 0x85,
|
||||||
|
0x67, 0x68, 0x11, 0x85, 0x14, 0x82, 0x14, 0x85, 0x14, 0x85, 0x14, 0x82, 0x14, 0x85, 0x11, 0x82,
|
||||||
|
0x60, 0x85, 0x11, 0x85, 0x14, 0x82, 0x14, 0x85, 0x11, 0x85, 0x1D, 0x85, 0x85, 0x14, 0x05, 0x82,
|
||||||
|
0x00, 0x03, 0x1F, 0x12, 0x48, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33,
|
||||||
|
0x04, 0x80, 0x00, 0x21, 0x26, 0x85, 0x61, 0x24, 0x80, 0x80, 0x61, 0x61, 0x80, 0x80, 0x77, 0x6E,
|
||||||
|
0x85, 0x16, 0x80, 0x80, 0x85, 0x61, 0x80, 0x09, 0x85, 0x09, 0x61, 0x6A, 0x80, 0x09, 0x85, 0x16,
|
||||||
|
0x85, 0x85, 0x6A, 0x24, 0x85, 0x00, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x11, 0x22,
|
||||||
|
0x01, 0x52, 0x0C, 0x84, 0x00, 0x05, 0x4E, 0x22, 0x22, 0x22, 0x59, 0x00, 0x07, 0x84, 0x01, 0x50,
|
||||||
|
0x05, 0x22, 0x01, 0x4F, 0x04, 0x84, 0x04, 0x22, 0x01, 0x52, 0x04, 0x84, 0x00, 0x03, 0x22, 0x22,
|
||||||
|
0x22, 0x00, 0x0B, 0x84, 0x00, 0x07, 0x4F, 0x22, 0x22, 0x84, 0x84, 0x84, 0x5A, 0x00, 0x07, 0x22,
|
||||||
|
0x00, 0x04, 0x84, 0x84, 0x84, 0x4E, 0x11, 0x22, 0x0B, 0x84, 0x01, 0x5A, 0x04, 0x22, 0x00, 0x0D,
|
||||||
|
0x56, 0x84, 0x84, 0x84, 0x5A, 0x22, 0x22, 0x22, 0x5A, 0x84, 0x84, 0x84, 0x57, 0x00, 0x06, 0x22,
|
||||||
|
0x00, 0x04, 0x4F, 0x84, 0x84, 0x4D, 0x05, 0x22, 0x01, 0x4D, 0x09, 0x84, 0x01, 0x52, 0x15, 0x22,
|
||||||
|
0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x82, 0x67, 0x67, 0x1D, 0x68, 0x82, 0x11, 0x85,
|
||||||
|
0x14, 0x82, 0x68, 0x85, 0x6D, 0x85, 0x68, 0x82, 0x14, 0x85, 0x11, 0x82, 0x60, 0x85, 0x11, 0x85,
|
||||||
|
0x14, 0x82, 0x1D, 0x85, 0x11, 0x85, 0x85, 0x1D, 0x60, 0x14, 0x05, 0x82, 0x00, 0x03, 0x1F, 0x12,
|
||||||
|
0x48, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x04, 0x80, 0x00, 0x21,
|
||||||
|
0x26, 0x85, 0x24, 0x16, 0x24, 0x16, 0x6A, 0x6A, 0x16, 0x69, 0x24, 0x85, 0x85, 0x69, 0x09, 0x16,
|
||||||
|
0x85, 0x6A, 0x16, 0x09, 0x85, 0x09, 0x16, 0x85, 0x16, 0x26, 0x85, 0x09, 0x85, 0x63, 0x09, 0x09,
|
||||||
|
0x85, 0x00, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x11, 0x22, 0x01, 0x57, 0x0C, 0x84,
|
||||||
|
0x01, 0x52, 0x04, 0x22, 0x01, 0x4F, 0x05, 0x84, 0x01, 0x50, 0x01, 0x57, 0x05, 0x22, 0x01, 0x4E,
|
||||||
|
0x04, 0x84, 0x05, 0x22, 0x00, 0x07, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x22, 0x22, 0x00, 0x0B, 0x84,
|
||||||
|
0x00, 0x06, 0x4F, 0x22, 0x22, 0x84, 0x84, 0x50, 0x08, 0x22, 0x00, 0x04, 0x84, 0x84, 0x84, 0x4E,
|
||||||
|
0x11, 0x22, 0x0A, 0x84, 0x01, 0x59, 0x05, 0x22, 0x04, 0x84, 0x00, 0x08, 0x4F, 0x22, 0x22, 0x22,
|
||||||
|
0x4D, 0x84, 0x84, 0x4F, 0x07, 0x22, 0x00, 0x04, 0x4D, 0x84, 0x84, 0x5A, 0x05, 0x22, 0x01, 0x57,
|
||||||
|
0x01, 0x50, 0x08, 0x84, 0x16, 0x22, 0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x82, 0x67,
|
||||||
|
0x6D, 0x2C, 0x14, 0x11, 0x1D, 0x85, 0x60, 0x2C, 0x82, 0x60, 0x85, 0x70, 0x82, 0x2C, 0x60, 0x85,
|
||||||
|
0x1D, 0x11, 0x60, 0x85, 0x82, 0x6D, 0x74, 0x2C, 0x6D, 0x60, 0x11, 0x85, 0x1D, 0x82, 0x60, 0x14,
|
||||||
|
0x05, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x48, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x33, 0x04, 0x80, 0x00, 0x05, 0x69, 0x26, 0x61, 0x61, 0x16, 0x00, 0x04, 0x61, 0x00, 0x06,
|
||||||
|
0x09, 0x80, 0x61, 0x26, 0x80, 0x24, 0x04, 0x61, 0x00, 0x0E, 0x09, 0x61, 0x09, 0x80, 0x16, 0x61,
|
||||||
|
0x61, 0x24, 0x80, 0x61, 0x09, 0x80, 0x09, 0x61, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D,
|
||||||
|
0x25, 0x22, 0x00, 0x04, 0x52, 0x4F, 0x4F, 0x52, 0x08, 0x22, 0x04, 0x4E, 0x06, 0x22, 0x04, 0x4E,
|
||||||
|
0x01, 0x22, 0x01, 0x22, 0x04, 0x4E, 0x01, 0x52, 0x06, 0x4F, 0x00, 0x06, 0x4E, 0x22, 0x22, 0x4F,
|
||||||
|
0x4F, 0x5C, 0x08, 0x22, 0x00, 0x03, 0x4F, 0x4F, 0x4F, 0x00, 0x12, 0x22, 0x08, 0x4D, 0x01, 0x5D,
|
||||||
|
0x01, 0x52, 0x06, 0x22, 0x04, 0x4D, 0x00, 0x07, 0x57, 0x22, 0x22, 0x22, 0x50, 0x84, 0x59, 0x00,
|
||||||
|
0x08, 0x22, 0x00, 0x04, 0x50, 0x84, 0x84, 0x52, 0x06, 0x22, 0x01, 0x57, 0x01, 0x56, 0x05, 0x84,
|
||||||
|
0x01, 0x56, 0x01, 0x52, 0x16, 0x22, 0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x82, 0x11,
|
||||||
|
0x70, 0x60, 0x70, 0x2C, 0x60, 0x60, 0x60, 0x1D, 0x82, 0x2C, 0x60, 0x2C, 0x82, 0x1D, 0x60, 0x60,
|
||||||
|
0x60, 0x2C, 0x1D, 0x60, 0x82, 0x11, 0x70, 0x60, 0x1D, 0x64, 0x11, 0x70, 0x64, 0x82, 0x1D, 0x2C,
|
||||||
|
0x05, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x48, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F,
|
||||||
|
0x01, 0x33, 0x29, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x9E, 0x22, 0x00, 0x05, 0x4E, 0x4F,
|
||||||
|
0x4F, 0x5E, 0x4E, 0x00, 0x18, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x29, 0x82, 0x00, 0x03,
|
||||||
|
0x1F, 0x12, 0x48, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x01, 0x33, 0x29, 0x07,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0xBB, 0x22, 0x00, 0x04, 0x2D, 0x22, 0x3A, 0x5B, 0x29, 0x1B,
|
||||||
|
0x00, 0x03, 0x1F, 0x12, 0x48, 0x00, 0x09, 0x22, 0x00, 0x00, 0x09, 0x22, 0x01, 0x1F, 0x2C, 0x30,
|
||||||
|
0x01, 0x22, 0x01, 0x2D, 0xBB, 0x22, 0x01, 0x2D, 0x01, 0x22, 0x2C, 0x30, 0x01, 0x12, 0x01, 0x48,
|
||||||
|
0x09, 0x22, 0x00, 0x00, 0x08, 0x22, 0x01, 0x4B, 0x01, 0x18, 0x2B, 0x1F, 0x00, 0x03, 0x12, 0x22,
|
||||||
|
0x36, 0x00, 0xBB, 0x22, 0x00, 0x03, 0x2D, 0x22, 0x47, 0x00, 0x2A, 0x1F, 0x00, 0x03, 0x39, 0x18,
|
||||||
|
0x48, 0x00, 0x09, 0x22, 0x00, 0x00, 0x08, 0x22, 0x01, 0x2D, 0x01, 0x4B, 0x2B, 0x22, 0x01, 0x45,
|
||||||
|
0x01, 0x20, 0xBD, 0x22, 0x01, 0x20, 0x01, 0x45, 0x2B, 0x22, 0x01, 0x4B, 0x01, 0x36, 0x09, 0x22,
|
||||||
|
0x00, 0x00, 0x1A, 0x22, 0x01, 0x4E, 0x0E, 0x84, 0x01, 0x4D, 0xD5, 0x22, 0x01, 0x50, 0x0D, 0x84,
|
||||||
|
0x01, 0x50, 0x1E, 0x22, 0x00, 0x00, 0x1B, 0x22, 0x01, 0x4D, 0x0E, 0x84, 0x01, 0x5E, 0xD3, 0x22,
|
||||||
|
0x01, 0x4D, 0x0E, 0x84, 0x01, 0x4F, 0x1E, 0x22, 0x00, 0x00, 0x1B, 0x22, 0x01, 0x4E, 0x0E, 0x84,
|
||||||
|
0x01, 0x50, 0xD2, 0x22, 0x01, 0x5E, 0x0E, 0x84, 0x01, 0x56, 0x1F, 0x22, 0x00, 0x00, 0x1C, 0x22,
|
||||||
|
0x01, 0x4D, 0x0E, 0x84, 0x01, 0x59, 0xD0, 0x22, 0x01, 0x57, 0x01, 0x50, 0x0E, 0x84, 0x01, 0x52,
|
||||||
|
0x1F, 0x22, 0x00, 0x00, 0x1D, 0x22, 0x0F, 0x84, 0x01, 0x5A, 0xCF, 0x22, 0x01, 0x59, 0x0E, 0x84,
|
||||||
|
0x01, 0x59, 0x20, 0x22, 0x00, 0x00, 0x1D, 0x22, 0x01, 0x5A, 0x0F, 0x84, 0x01, 0x52, 0xCD, 0x22,
|
||||||
|
0x01, 0x58, 0x0F, 0x84, 0x01, 0x4E, 0x20, 0x22, 0x00, 0x00, 0x1E, 0x22, 0x01, 0x50, 0x0E, 0x84,
|
||||||
|
0x01, 0x50, 0x01, 0x57, 0xCB, 0x22, 0x01, 0x4F, 0x0F, 0x84, 0x01, 0x5D, 0x21, 0x22, 0x00, 0x00,
|
||||||
|
0x1E, 0x22, 0x01, 0x5C, 0x0F, 0x84, 0x01, 0x50, 0xCA, 0x22, 0x01, 0x52, 0x0F, 0x84, 0x01, 0x50,
|
||||||
|
0x22, 0x22, 0x00, 0x00, 0x1F, 0x22, 0x01, 0x5D, 0x0F, 0x84, 0x01, 0x59, 0xC8, 0x22, 0x01, 0x57,
|
||||||
|
0x10, 0x84, 0x01, 0x5C, 0x22, 0x22, 0x00, 0x00, 0x20, 0x22, 0x01, 0x50, 0x0F, 0x84, 0x01, 0x59,
|
||||||
|
0xC6, 0x22, 0x01, 0x57, 0x01, 0x50, 0x0F, 0x84, 0x01, 0x5D, 0x23, 0x22, 0x00, 0x00, 0x20, 0x22,
|
||||||
|
0x01, 0x4E, 0x10, 0x84, 0x01, 0x59, 0xC4, 0x22, 0x01, 0x57, 0x01, 0x50, 0x0F, 0x84, 0x01, 0x50,
|
||||||
|
0x24, 0x22, 0x00, 0x00, 0x21, 0x22, 0x01, 0x5A, 0x10, 0x84, 0x01, 0x59, 0xC2, 0x22, 0x01, 0x57,
|
||||||
|
0x01, 0x50, 0x10, 0x84, 0x01, 0x4E, 0x24, 0x22, 0x00, 0x00, 0x22, 0x22, 0x01, 0x59, 0x10, 0x84,
|
||||||
|
0x01, 0x59, 0xC0, 0x22, 0x01, 0x57, 0x01, 0x50, 0x10, 0x84, 0x01, 0x4F, 0x25, 0x22, 0x00, 0x00,
|
||||||
|
0x23, 0x22, 0x01, 0x50, 0x10, 0x84, 0x01, 0x59, 0xBE, 0x22, 0x01, 0x4E, 0x01, 0x50, 0x10, 0x84,
|
||||||
|
0x01, 0x5D, 0x26, 0x22, 0x00, 0x00, 0x23, 0x22, 0x01, 0x57, 0x11, 0x84, 0x01, 0x56, 0x01, 0x57,
|
||||||
|
0xBB, 0x22, 0x01, 0x52, 0x11, 0x84, 0x01, 0x59, 0x27, 0x22, 0x00, 0x00, 0x24, 0x22, 0x01, 0x52,
|
||||||
|
0x11, 0x84, 0x01, 0x50, 0x01, 0x4E, 0xB9, 0x22, 0x01, 0x4F, 0x11, 0x84, 0x01, 0x50, 0x28, 0x22,
|
||||||
|
0x00, 0x00, 0x25, 0x22, 0x01, 0x4F, 0x12, 0x84, 0x01, 0x52, 0xB7, 0x22, 0x01, 0x58, 0x11, 0x84,
|
||||||
|
0x01, 0x50, 0x01, 0x57, 0x28, 0x22, 0x00, 0x00, 0x26, 0x22, 0x01, 0x58, 0x12, 0x84, 0x01, 0x58,
|
||||||
|
0xB5, 0x22, 0x01, 0x59, 0x12, 0x84, 0x01, 0x52, 0x29, 0x22, 0x00, 0x00, 0x27, 0x22, 0x01, 0x58,
|
||||||
|
0x12, 0x84, 0x01, 0x59, 0xB2, 0x22, 0x01, 0x5C, 0x01, 0x50, 0x12, 0x84, 0x01, 0x52, 0x2A, 0x22,
|
||||||
|
0x00, 0x00, 0x28, 0x22, 0x01, 0x58, 0x12, 0x84, 0x01, 0x50, 0x01, 0x5C, 0xAF, 0x22, 0x01, 0x5A,
|
||||||
|
0x13, 0x84, 0x01, 0x52, 0x2B, 0x22, 0x00, 0x00, 0x29, 0x22, 0x01, 0x58, 0x13, 0x84, 0x01, 0x5A,
|
||||||
|
0xAC, 0x22, 0x01, 0x57, 0x01, 0x59, 0x13, 0x84, 0x01, 0x52, 0x2C, 0x22, 0x00, 0x00, 0x2A, 0x22,
|
||||||
|
0x01, 0x58, 0x13, 0x84, 0x01, 0x56, 0x01, 0x4E, 0xA9, 0x22, 0x01, 0x5E, 0x01, 0x50, 0x13, 0x84,
|
||||||
|
0x01, 0x52, 0x2D, 0x22, 0x00, 0x00, 0x2B, 0x22, 0x01, 0x58, 0x14, 0x84, 0x01, 0x5A, 0xA7, 0x22,
|
||||||
|
0x01, 0x4D, 0x14, 0x84, 0x01, 0x52, 0x2E, 0x22, 0x00, 0x00, 0x2C, 0x22, 0x01, 0x58, 0x14, 0x84,
|
||||||
|
0x01, 0x56, 0x01, 0x4E, 0xA3, 0x22, 0x01, 0x4F, 0x01, 0x50, 0x13, 0x84, 0x01, 0x50, 0x01, 0x52,
|
||||||
|
0x2F, 0x22, 0x00, 0x00, 0x2D, 0x22, 0x01, 0x52, 0x15, 0x84, 0x01, 0x5D, 0x32, 0x22, 0x01, 0x0D,
|
||||||
|
0x3C, 0x4B, 0x01, 0x06, 0x30, 0x22, 0x01, 0x4E, 0x01, 0x59, 0x14, 0x84, 0x01, 0x50, 0x01, 0x57,
|
||||||
|
0x30, 0x22, 0x00, 0x00, 0x2E, 0x22, 0x01, 0x52, 0x01, 0x50, 0x14, 0x84, 0x01, 0x50, 0x01, 0x4F,
|
||||||
|
0x2F, 0x22, 0x00, 0x03, 0x28, 0x4B, 0x6C, 0x00, 0x3A, 0x0E, 0x00, 0x03, 0x71, 0x4B, 0x28, 0x00,
|
||||||
|
0x2E, 0x22, 0x01, 0x58, 0x15, 0x84, 0x01, 0x59, 0x01, 0x57, 0x31, 0x22, 0x00, 0x00, 0x2F, 0x22,
|
||||||
|
0x01, 0x57, 0x01, 0x50, 0x15, 0x84, 0x01, 0x56, 0x01, 0x52, 0x2D, 0x22, 0x00, 0x03, 0x00, 0x4B,
|
||||||
|
0x43, 0x00, 0x3A, 0x0A, 0x00, 0x03, 0x43, 0x4B, 0x4A, 0x00, 0x2C, 0x22, 0x01, 0x4F, 0x01, 0x50,
|
||||||
|
0x15, 0x84, 0x01, 0x4D, 0x33, 0x22, 0x00, 0x00, 0x31, 0x22, 0x01, 0x59, 0x16, 0x84, 0x01, 0x4D,
|
||||||
|
0x01, 0x4E, 0x2B, 0x22, 0x00, 0x04, 0x28, 0x4B, 0x62, 0x30, 0x05, 0x4C, 0x01, 0x2E, 0x01, 0x30,
|
||||||
|
0x18, 0x4C, 0x01, 0x2E, 0x01, 0x04, 0x04, 0x4C, 0x01, 0x39, 0x01, 0x04, 0x07, 0x4C, 0x01, 0x04,
|
||||||
|
0x01, 0x2E, 0x09, 0x4C, 0x00, 0x03, 0x30, 0x3F, 0x4A, 0x00, 0x2A, 0x22, 0x01, 0x52, 0x01, 0x50,
|
||||||
|
0x16, 0x84, 0x01, 0x5A, 0x34, 0x22, 0x00, 0x00, 0x32, 0x22, 0x01, 0x5A, 0x17, 0x84, 0x01, 0x4D,
|
||||||
|
0x01, 0x4E, 0x2A, 0x22, 0x00, 0x04, 0x4B, 0x2A, 0x30, 0x78, 0x04, 0x15, 0x00, 0x03, 0x4A, 0x4C,
|
||||||
|
0x75, 0x00, 0x17, 0x15, 0x00, 0x09, 0x01, 0x78, 0x0D, 0x15, 0x15, 0x15, 0x12, 0x39, 0x06, 0x00,
|
||||||
|
0x05, 0x15, 0x00, 0x03, 0x21, 0x2E, 0x78, 0x00, 0x08, 0x15, 0x00, 0x04, 0x0A, 0x30, 0x75, 0x06,
|
||||||
|
0x28, 0x22, 0x01, 0x52, 0x01, 0x56, 0x16, 0x84, 0x01, 0x50, 0x01, 0x5C, 0x35, 0x22, 0x00, 0x00,
|
||||||
|
0x33, 0x22, 0x01, 0x5C, 0x01, 0x50, 0x17, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x28, 0x22, 0x00, 0x0F,
|
||||||
|
0x3B, 0x75, 0x30, 0x2A, 0x62, 0x30, 0x30, 0x32, 0x15, 0x15, 0x23, 0x30, 0x30, 0x30, 0x02, 0x00,
|
||||||
|
0x0E, 0x30, 0x00, 0x22, 0x1C, 0x04, 0x30, 0x30, 0x3A, 0x15, 0x15, 0x23, 0x30, 0x30, 0x30, 0x4C,
|
||||||
|
0x2A, 0x02, 0x30, 0x23, 0x30, 0x02, 0x30, 0x2E, 0x2E, 0x12, 0x30, 0x30, 0x30, 0x32, 0x32, 0x30,
|
||||||
|
0x02, 0x30, 0x31, 0x30, 0x4B, 0x15, 0x26, 0x22, 0x01, 0x52, 0x01, 0x56, 0x17, 0x84, 0x01, 0x59,
|
||||||
|
0x37, 0x22, 0x00, 0x00, 0x35, 0x22, 0x01, 0x59, 0x18, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x26, 0x22,
|
||||||
|
0x00, 0x3F, 0x37, 0x4B, 0x04, 0x04, 0x39, 0x30, 0x30, 0x30, 0x32, 0x3D, 0x3D, 0x1C, 0x30, 0x04,
|
||||||
|
0x1C, 0x04, 0x30, 0x30, 0x04, 0x30, 0x32, 0x30, 0x30, 0x32, 0x30, 0x32, 0x30, 0x32, 0x3A, 0x30,
|
||||||
|
0x44, 0x30, 0x32, 0x30, 0x44, 0x44, 0x42, 0x30, 0x30, 0x30, 0x4C, 0x2E, 0x3F, 0x4C, 0x3F, 0x30,
|
||||||
|
0x7A, 0x4C, 0x7A, 0x30, 0x12, 0x30, 0x32, 0x30, 0x32, 0x32, 0x30, 0x02, 0x30, 0x4C, 0x02, 0x4B,
|
||||||
|
0x1E, 0x00, 0x24, 0x22, 0x01, 0x5E, 0x01, 0x56, 0x18, 0x84, 0x01, 0x5A, 0x38, 0x22, 0x00, 0x00,
|
||||||
|
0x36, 0x22, 0x01, 0x4F, 0x19, 0x84, 0x01, 0x56, 0x01, 0x52, 0x25, 0x22, 0x00, 0x23, 0x71, 0x4C,
|
||||||
|
0x30, 0x2A, 0x30, 0x30, 0x1C, 0x02, 0x2E, 0x32, 0x42, 0x3A, 0x1C, 0x1C, 0x1C, 0x04, 0x3A, 0x1C,
|
||||||
|
0x32, 0x1C, 0x32, 0x30, 0x32, 0x42, 0x1C, 0x42, 0x3A, 0x04, 0x30, 0x1C, 0x32, 0x1C, 0x32, 0x30,
|
||||||
|
0x04, 0x00, 0x04, 0x30, 0x00, 0x16, 0x4C, 0x4C, 0x15, 0x15, 0x23, 0x02, 0x3D, 0x15, 0x0A, 0x30,
|
||||||
|
0x3B, 0x30, 0x02, 0x30, 0x32, 0x3A, 0x30, 0x02, 0x30, 0x31, 0x31, 0x4B, 0x23, 0x22, 0x01, 0x4F,
|
||||||
|
0x01, 0x50, 0x18, 0x84, 0x01, 0x50, 0x01, 0x4E, 0x39, 0x22, 0x00, 0x00, 0x37, 0x22, 0x01, 0x57,
|
||||||
|
0x01, 0x59, 0x19, 0x84, 0x01, 0x50, 0x01, 0x5A, 0x23, 0x22, 0x00, 0x3D, 0x0D, 0x6C, 0x30, 0x39,
|
||||||
|
0x30, 0x30, 0x30, 0x02, 0x44, 0x30, 0x04, 0x3A, 0x42, 0x1C, 0x30, 0x04, 0x3A, 0x32, 0x1C, 0x3A,
|
||||||
|
0x44, 0x30, 0x04, 0x1C, 0x32, 0x1C, 0x1C, 0x44, 0x30, 0x32, 0x1C, 0x32, 0x1C, 0x3A, 0x44, 0x30,
|
||||||
|
0x42, 0x30, 0x30, 0x4C, 0x4C, 0x44, 0x32, 0x27, 0x32, 0x27, 0x32, 0x49, 0x30, 0x12, 0x30, 0x27,
|
||||||
|
0x30, 0x44, 0x30, 0x32, 0x04, 0x30, 0x4C, 0x4C, 0x71, 0x00, 0x20, 0x22, 0x01, 0x4E, 0x01, 0x58,
|
||||||
|
0x1A, 0x84, 0x01, 0x5D, 0x3B, 0x22, 0x00, 0x00, 0x39, 0x22, 0x01, 0x4F, 0x1B, 0x84, 0x01, 0x5D,
|
||||||
|
0x01, 0x5C, 0x20, 0x22, 0x00, 0x3D, 0x1E, 0x4B, 0x02, 0x04, 0x31, 0x30, 0x02, 0x1C, 0x02, 0x04,
|
||||||
|
0x32, 0x23, 0x1C, 0x2E, 0x30, 0x44, 0x02, 0x32, 0x23, 0x30, 0x27, 0x04, 0x32, 0x02, 0x32, 0x31,
|
||||||
|
0x1C, 0x27, 0x32, 0x32, 0x2E, 0x32, 0x3D, 0x30, 0x23, 0x32, 0x1C, 0x30, 0x30, 0x4C, 0x4C, 0x04,
|
||||||
|
0x30, 0x3D, 0x30, 0x3D, 0x30, 0x39, 0x30, 0x4C, 0x30, 0x3D, 0x30, 0x1F, 0x30, 0x02, 0x04, 0x62,
|
||||||
|
0x31, 0x3F, 0x4A, 0x00, 0x1E, 0x22, 0x01, 0x5E, 0x01, 0x56, 0x1A, 0x84, 0x01, 0x50, 0x01, 0x5C,
|
||||||
|
0x3C, 0x22, 0x00, 0x00, 0x3A, 0x22, 0x01, 0x57, 0x01, 0x4D, 0x1B, 0x84, 0x00, 0x03, 0x56, 0x5A,
|
||||||
|
0x57, 0x00, 0x1E, 0x22, 0x00, 0x3C, 0x48, 0x7A, 0x30, 0x12, 0x04, 0x4C, 0x04, 0x04, 0x31, 0x2E,
|
||||||
|
0x23, 0x04, 0x23, 0x04, 0x04, 0x23, 0x04, 0x23, 0x73, 0x39, 0x02, 0x04, 0x23, 0x04, 0x73, 0x04,
|
||||||
|
0x02, 0x02, 0x3D, 0x12, 0x04, 0x73, 0x04, 0x02, 0x02, 0x04, 0x04, 0x04, 0x47, 0x4C, 0x27, 0x04,
|
||||||
|
0x39, 0x04, 0x39, 0x04, 0x39, 0x30, 0x62, 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x04, 0x04, 0x04, 0x62,
|
||||||
|
0x75, 0x06, 0x1B, 0x22, 0x01, 0x5C, 0x01, 0x58, 0x1C, 0x84, 0x01, 0x5A, 0x3E, 0x22, 0x00, 0x00,
|
||||||
|
0x3C, 0x22, 0x01, 0x5E, 0x01, 0x50, 0x1C, 0x84, 0x01, 0x59, 0x01, 0x5E, 0x1C, 0x22, 0x00, 0x2F,
|
||||||
|
0x06, 0x71, 0x2E, 0x0D, 0x62, 0x1F, 0x2A, 0x2E, 0x31, 0x47, 0x62, 0x3B, 0x62, 0x73, 0x02, 0x62,
|
||||||
|
0x12, 0x62, 0x47, 0x3B, 0x62, 0x47, 0x62, 0x1F, 0x73, 0x62, 0x3B, 0x62, 0x49, 0x7A, 0x62, 0x47,
|
||||||
|
0x62, 0x1F, 0x1F, 0x62, 0x47, 0x62, 0x7A, 0x7A, 0x2E, 0x44, 0x4C, 0x62, 0x12, 0x62, 0x7A, 0x00,
|
||||||
|
0x0B, 0x2E, 0x01, 0x4B, 0x01, 0x15, 0x18, 0x22, 0x00, 0x03, 0x57, 0x5A, 0x56, 0x00, 0x1C, 0x84,
|
||||||
|
0x01, 0x59, 0x01, 0x4E, 0x3F, 0x22, 0x00, 0x00, 0x3E, 0x22, 0x01, 0x58, 0x1E, 0x84, 0x01, 0x59,
|
||||||
|
0x01, 0x5E, 0x1A, 0x22, 0x01, 0x4A, 0x38, 0x4B, 0x01, 0x3B, 0x16, 0x22, 0x00, 0x03, 0x57, 0x5A,
|
||||||
|
0x56, 0x00, 0x1D, 0x84, 0x01, 0x50, 0x01, 0x5E, 0x41, 0x22, 0x00, 0x00, 0x3F, 0x22, 0x01, 0x57,
|
||||||
|
0x01, 0x4D, 0x1F, 0x84, 0x00, 0x03, 0x59, 0x4F, 0x57, 0x00, 0x18, 0x22, 0x00, 0x2C, 0x02, 0x00,
|
||||||
|
0x49, 0x36, 0x03, 0x03, 0x15, 0x00, 0x15, 0x06, 0x00, 0x49, 0x49, 0x49, 0x4B, 0x47, 0x49, 0x78,
|
||||||
|
0x47, 0x78, 0x78, 0x7A, 0x78, 0x7A, 0x78, 0x47, 0x2A, 0x78, 0x47, 0x78, 0x7A, 0x7A, 0x78, 0x47,
|
||||||
|
0x78, 0x47, 0x46, 0x12, 0x06, 0x00, 0x06, 0x49, 0x06, 0x37, 0x1F, 0x22, 0x00, 0x03, 0x5C, 0x5A,
|
||||||
|
0x56, 0x00, 0x1F, 0x84, 0x01, 0x5A, 0x43, 0x22, 0x00, 0x00, 0x41, 0x22, 0x01, 0x4E, 0x01, 0x56,
|
||||||
|
0x20, 0x84, 0x00, 0x03, 0x56, 0x58, 0x5C, 0x00, 0x18, 0x22, 0x0A, 0x2D, 0x01, 0x00, 0x01, 0x46,
|
||||||
|
0x15, 0x49, 0x00, 0x03, 0x18, 0x0D, 0x23, 0x00, 0x09, 0x2D, 0x18, 0x22, 0x01, 0x5E, 0x01, 0x5D,
|
||||||
|
0x21, 0x84, 0x01, 0x58, 0x45, 0x22, 0x00, 0x00, 0x43, 0x22, 0x01, 0x52, 0x01, 0x56, 0x22, 0x84,
|
||||||
|
0x00, 0x03, 0x59, 0x5A, 0x5C, 0x00, 0x13, 0x22, 0x01, 0x48, 0x2D, 0x22, 0x01, 0x46, 0x13, 0x22,
|
||||||
|
0x00, 0x03, 0x52, 0x58, 0x56, 0x00, 0x22, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x46, 0x22, 0x00, 0x00,
|
||||||
|
0x45, 0x22, 0x01, 0x52, 0x01, 0x56, 0x24, 0x84, 0x00, 0x03, 0x59, 0x5A, 0x52, 0x00, 0x10, 0x22,
|
||||||
|
0x01, 0x39, 0x2B, 0x30, 0x00, 0x03, 0x44, 0x22, 0x00, 0x00, 0x0D, 0x22, 0x00, 0x04, 0x57, 0x5E,
|
||||||
|
0x58, 0x56, 0x24, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x48, 0x22, 0x00, 0x00, 0x47, 0x22, 0x01, 0x52,
|
||||||
|
0x01, 0x56, 0x26, 0x84, 0x00, 0x04, 0x50, 0x4D, 0x4F, 0x5C, 0x0B, 0x22, 0x01, 0x1F, 0x01, 0x7B,
|
||||||
|
0x29, 0x54, 0x00, 0x05, 0x7B, 0x30, 0x22, 0x00, 0x05, 0x00, 0x07, 0x22, 0x00, 0x04, 0x57, 0x52,
|
||||||
|
0x5A, 0x4D, 0x27, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x4A, 0x22, 0x00, 0x00, 0x49, 0x22, 0x01, 0x52,
|
||||||
|
0x01, 0x59, 0x2A, 0x84, 0x00, 0x04, 0x4D, 0x58, 0x4F, 0x4E, 0x05, 0x22, 0x01, 0x1F, 0x01, 0x54,
|
||||||
|
0x29, 0x81, 0x00, 0x0B, 0x54, 0x30, 0x22, 0x15, 0x36, 0x22, 0x4E, 0x5C, 0x4F, 0x5D, 0x59, 0x00,
|
||||||
|
0x2A, 0x84, 0x01, 0x58, 0x01, 0x57, 0x4C, 0x22, 0x00, 0x00, 0x4B, 0x22, 0x01, 0x4E, 0x01, 0x5D,
|
||||||
|
0x2E, 0x84, 0x00, 0x05, 0x59, 0x4D, 0x22, 0x1F, 0x54, 0x00, 0x29, 0x81, 0x00, 0x06, 0x54, 0x30,
|
||||||
|
0x22, 0x2F, 0x29, 0x3C, 0x2C, 0x84, 0x01, 0x50, 0x01, 0x5A, 0x4F, 0x22, 0x00, 0x00, 0x4E, 0x22,
|
||||||
|
0x01, 0x5A, 0x01, 0x50, 0x2D, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x25,
|
||||||
|
0x07, 0x17, 0x01, 0x08, 0x01, 0x66, 0x11, 0x81, 0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x3C,
|
||||||
|
0x2A, 0x84, 0x01, 0x56, 0x01, 0x52, 0x51, 0x22, 0x00, 0x00, 0x50, 0x22, 0x01, 0x52, 0x01, 0x4D,
|
||||||
|
0x2B, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08, 0x09, 0x85, 0x01, 0x5F,
|
||||||
|
0x01, 0x66, 0x0F, 0x81, 0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x41, 0x28, 0x84, 0x01, 0x58,
|
||||||
|
0x01, 0x4E, 0x53, 0x22, 0x00, 0x00, 0x53, 0x22, 0x01, 0x5A, 0x01, 0x56, 0x28, 0x84, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08, 0x0A, 0x85, 0x01, 0x65, 0x01, 0x25, 0x0E, 0x81,
|
||||||
|
0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x41, 0x25, 0x84, 0x01, 0x59, 0x01, 0x5E, 0x56, 0x22,
|
||||||
|
0x00, 0x00, 0x55, 0x22, 0x00, 0x03, 0x5C, 0x58, 0x50, 0x00, 0x25, 0x84, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x54, 0x00, 0x0E, 0x81, 0x00, 0x08, 0x08, 0x85, 0x85, 0x85, 0x76, 0x17, 0x17, 0x13, 0x04, 0x85,
|
||||||
|
0x01, 0x5F, 0x0E, 0x81, 0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x22, 0x84, 0x01, 0x56,
|
||||||
|
0x01, 0x5A, 0x59, 0x22, 0x00, 0x00, 0x58, 0x22, 0x01, 0x52, 0x01, 0x5D, 0x23, 0x84, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x09, 0x08, 0x85, 0x85, 0x85, 0x5F, 0x81, 0x81, 0x81,
|
||||||
|
0x17, 0x00, 0x04, 0x85, 0x01, 0x25, 0x0D, 0x81, 0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29,
|
||||||
|
0x1F, 0x84, 0x00, 0x03, 0x56, 0x5A, 0x57, 0x00, 0x5B, 0x22, 0x00, 0x00, 0x5B, 0x22, 0x00, 0x03,
|
||||||
|
0x5C, 0x58, 0x50, 0x00, 0x1F, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x05,
|
||||||
|
0x08, 0x85, 0x85, 0x85, 0x5F, 0x00, 0x04, 0x81, 0x04, 0x85, 0x01, 0x08, 0x0D, 0x81, 0x00, 0x07,
|
||||||
|
0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x3C, 0x00, 0x1B, 0x84, 0x00, 0x03, 0x56, 0x5A, 0x57, 0x00,
|
||||||
|
0x5E, 0x22, 0x00, 0x00, 0x5E, 0x22, 0x00, 0x03, 0x4E, 0x5A, 0x59, 0x00, 0x1C, 0x84, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x05, 0x08, 0x85, 0x85, 0x85, 0x5F, 0x00, 0x04, 0x81,
|
||||||
|
0x00, 0x05, 0x5F, 0x85, 0x85, 0x85, 0x08, 0x00, 0x0D, 0x81, 0x00, 0x07, 0x54, 0x30, 0x22, 0x2F,
|
||||||
|
0x29, 0x29, 0x41, 0x00, 0x18, 0x84, 0x01, 0x4D, 0x01, 0x5E, 0x62, 0x22, 0x00, 0x00, 0x62, 0x22,
|
||||||
|
0x00, 0x03, 0x52, 0x58, 0x50, 0x00, 0x18, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81,
|
||||||
|
0x00, 0x05, 0x08, 0x85, 0x85, 0x85, 0x5F, 0x00, 0x04, 0x81, 0x04, 0x85, 0x01, 0x08, 0x0D, 0x81,
|
||||||
|
0x00, 0x07, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x41, 0x00, 0x14, 0x84, 0x00, 0x03, 0x59, 0x5A,
|
||||||
|
0x5C, 0x00, 0x65, 0x22, 0x00, 0x00, 0x65, 0x22, 0x00, 0x04, 0x57, 0x5E, 0x5D, 0x56, 0x14, 0x84,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x0E, 0x08, 0x85, 0x85, 0x85, 0x5F, 0x81,
|
||||||
|
0x81, 0x81, 0x13, 0x85, 0x85, 0x85, 0x65, 0x66, 0x0D, 0x81, 0x00, 0x07, 0x54, 0x30, 0x22, 0x2F,
|
||||||
|
0x29, 0x29, 0x29, 0x00, 0x10, 0x84, 0x00, 0x03, 0x59, 0x5A, 0x5C, 0x00, 0x69, 0x22, 0x00, 0x00,
|
||||||
|
0x6A, 0x22, 0x00, 0x03, 0x52, 0x5A, 0x4D, 0x00, 0x10, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00,
|
||||||
|
0x0E, 0x81, 0x00, 0x08, 0x08, 0x85, 0x85, 0x85, 0x76, 0x17, 0x13, 0x72, 0x04, 0x85, 0x01, 0x17,
|
||||||
|
0x0E, 0x81, 0x00, 0x07, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x00, 0x0B, 0x84, 0x00, 0x04,
|
||||||
|
0x50, 0x4D, 0x4F, 0x4E, 0x6D, 0x22, 0x00, 0x00, 0x6E, 0x22, 0x00, 0x05, 0x57, 0x52, 0x5A, 0x4D,
|
||||||
|
0x50, 0x00, 0x0A, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08, 0x0A, 0x85,
|
||||||
|
0x01, 0x13, 0x0F, 0x81, 0x00, 0x08, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x3C, 0x05, 0x84,
|
||||||
|
0x00, 0x04, 0x56, 0x4D, 0x4F, 0x5C, 0x72, 0x22, 0x00, 0x00, 0x74, 0x22, 0x00, 0x05, 0x4E, 0x5E,
|
||||||
|
0x5A, 0x4D, 0x56, 0x00, 0x04, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08,
|
||||||
|
0x09, 0x85, 0x01, 0x17, 0x10, 0x81, 0x00, 0x0C, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x7F,
|
||||||
|
0x4D, 0x4F, 0x52, 0x4E, 0x77, 0x22, 0x00, 0x00, 0x7A, 0x22, 0x00, 0x06, 0x57, 0x4E, 0x5E, 0x22,
|
||||||
|
0x1F, 0x54, 0x0E, 0x81, 0x00, 0x0C, 0x08, 0x85, 0x85, 0x85, 0x5F, 0x81, 0x66, 0x17, 0x85, 0x85,
|
||||||
|
0x85, 0x17, 0x0F, 0x81, 0x00, 0x08, 0x54, 0x30, 0x22, 0x33, 0x3E, 0x22, 0x22, 0x03, 0x7B, 0x22,
|
||||||
|
0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x0E, 0x81, 0x00, 0x0C, 0x08, 0x85, 0x85, 0x85,
|
||||||
|
0x5F, 0x81, 0x81, 0x81, 0x85, 0x85, 0x85, 0x65, 0x0F, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x00,
|
||||||
|
0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x0E, 0x81, 0x00, 0x08, 0x08, 0x85,
|
||||||
|
0x85, 0x85, 0x5F, 0x81, 0x81, 0x66, 0x04, 0x85, 0x0F, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x15,
|
||||||
|
0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x0E, 0x81, 0x00, 0x08, 0x08, 0x85,
|
||||||
|
0x85, 0x85, 0x72, 0x08, 0x08, 0x5F, 0x04, 0x85, 0x0F, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x00,
|
||||||
|
0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x0E, 0x81, 0x01, 0x08, 0x0A, 0x85,
|
||||||
|
0x01, 0x5F, 0x0F, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x00, 0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22,
|
||||||
|
0x01, 0x1F, 0x01, 0x54, 0x0E, 0x81, 0x01, 0x08, 0x09, 0x85, 0x01, 0x72, 0x01, 0x66, 0x0F, 0x81,
|
||||||
|
0x00, 0x04, 0x54, 0x30, 0x22, 0x15, 0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54,
|
||||||
|
0x0E, 0x81, 0x01, 0x25, 0x07, 0x17, 0x01, 0x08, 0x01, 0x25, 0x11, 0x81, 0x00, 0x04, 0x54, 0x30,
|
||||||
|
0x22, 0x00, 0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x29, 0x81, 0x00, 0x04,
|
||||||
|
0x54, 0x30, 0x22, 0x00, 0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x04, 0x81,
|
||||||
|
0x00, 0x21, 0x25, 0x08, 0x08, 0x66, 0x81, 0x81, 0x08, 0x25, 0x81, 0x08, 0x66, 0x81, 0x81, 0x08,
|
||||||
|
0x25, 0x81, 0x08, 0x25, 0x81, 0x25, 0x08, 0x66, 0x81, 0x66, 0x08, 0x25, 0x81, 0x81, 0x08, 0x66,
|
||||||
|
0x81, 0x81, 0x08, 0x00, 0x04, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x15, 0x7F, 0x22, 0x00, 0x00,
|
||||||
|
0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x04, 0x81, 0x00, 0x21, 0x85, 0x85, 0x85, 0x65, 0x08, 0x81,
|
||||||
|
0x85, 0x5F, 0x81, 0x65, 0x13, 0x81, 0x25, 0x85, 0x13, 0x81, 0x85, 0x17, 0x81, 0x17, 0x85, 0x08,
|
||||||
|
0x08, 0x65, 0x76, 0x85, 0x13, 0x81, 0x85, 0x08, 0x81, 0x13, 0x85, 0x00, 0x04, 0x81, 0x00, 0x04,
|
||||||
|
0x54, 0x30, 0x22, 0x00, 0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x04, 0x81,
|
||||||
|
0x00, 0x21, 0x25, 0x81, 0x25, 0x85, 0x5F, 0x81, 0x85, 0x5F, 0x81, 0x13, 0x65, 0x5F, 0x76, 0x85,
|
||||||
|
0x25, 0x81, 0x85, 0x17, 0x81, 0x17, 0x85, 0x08, 0x72, 0x76, 0x81, 0x17, 0x85, 0x08, 0x85, 0x08,
|
||||||
|
0x08, 0x85, 0x85, 0x00, 0x04, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x0C, 0x7F, 0x22, 0x00, 0x00,
|
||||||
|
0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x04, 0x81, 0x00, 0x21, 0x66, 0x13, 0x65, 0x85, 0x17, 0x81,
|
||||||
|
0x85, 0x5F, 0x81, 0x25, 0x85, 0x17, 0x65, 0x72, 0x81, 0x81, 0x85, 0x17, 0x81, 0x17, 0x85, 0x08,
|
||||||
|
0x85, 0x5F, 0x81, 0x08, 0x85, 0x17, 0x85, 0x13, 0x85, 0x65, 0x85, 0x00, 0x04, 0x81, 0x00, 0x04,
|
||||||
|
0x54, 0x30, 0x22, 0x2D, 0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x04, 0x81,
|
||||||
|
0x00, 0x21, 0x13, 0x85, 0x5F, 0x08, 0x81, 0x81, 0x85, 0x5F, 0x81, 0x81, 0x76, 0x72, 0x85, 0x08,
|
||||||
|
0x81, 0x81, 0x85, 0x17, 0x81, 0x17, 0x85, 0x08, 0x65, 0x5F, 0x81, 0x08, 0x85, 0x17, 0x85, 0x85,
|
||||||
|
0x72, 0x08, 0x85, 0x00, 0x04, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x2D, 0x7F, 0x22, 0x00, 0x00,
|
||||||
|
0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x04, 0x81, 0x00, 0x21, 0x5F, 0x85, 0x08, 0x17, 0x25, 0x08,
|
||||||
|
0x85, 0x72, 0x08, 0x81, 0x17, 0x85, 0x85, 0x66, 0x25, 0x08, 0x85, 0x13, 0x08, 0x17, 0x85, 0x08,
|
||||||
|
0x13, 0x65, 0x08, 0x5F, 0x85, 0x25, 0x85, 0x65, 0x25, 0x08, 0x85, 0x00, 0x04, 0x81, 0x00, 0x04,
|
||||||
|
0x54, 0x30, 0x22, 0x2D, 0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x04, 0x81,
|
||||||
|
0x00, 0x05, 0x25, 0x5F, 0x5F, 0x5F, 0x08, 0x00, 0x04, 0x5F, 0x00, 0x06, 0x81, 0x25, 0x5F, 0x17,
|
||||||
|
0x81, 0x08, 0x04, 0x5F, 0x00, 0x0E, 0x08, 0x5F, 0x25, 0x66, 0x13, 0x5F, 0x5F, 0x08, 0x81, 0x5F,
|
||||||
|
0x25, 0x81, 0x25, 0x5F, 0x04, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x2D, 0x7F, 0x22, 0x00, 0x00,
|
||||||
|
0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x29, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x2D, 0x7F, 0x22,
|
||||||
|
0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x54, 0x29, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x2D,
|
||||||
|
0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x1F, 0x01, 0x44, 0x29, 0x1F, 0x00, 0x04, 0x44, 0x30,
|
||||||
|
0x22, 0x2D, 0x7F, 0x22, 0x00, 0x00, 0x7E, 0x22, 0x01, 0x01, 0x2B, 0x1F, 0x00, 0x03, 0x3F, 0x22,
|
||||||
|
0x03, 0x00, 0x7F, 0x22, 0x00, 0x00, 0x7D, 0x22, 0x01, 0x15, 0x01, 0x45, 0x2C, 0x22, 0x01, 0x21,
|
||||||
|
0x80, 0x22, 0x00, 0x00, 0xFF, 0x22, 0x2D, 0x22, 0x00, 0x00, 0xFF, 0x22, 0x2D, 0x22, 0x00, 0x00,
|
||||||
|
0xFF, 0x22, 0x2D, 0x22, 0x00, 0x01, 0x00, 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef ROMFS_DIRENTRY_HEAD
|
||||||
|
static const ROMFS_DIRENTRY token_dir = { 0, 0, ROMFS_DIRENTRY_HEAD, "token.bmp", 13800, token };
|
||||||
|
#undef ROMFS_DIRENTRY_HEAD
|
||||||
|
#define ROMFS_DIRENTRY_HEAD &token_dir
|
||||||
|
#endif
|
928
resources/token_w.h
Normal file
928
resources/token_w.h
Normal file
@ -0,0 +1,928 @@
|
|||||||
|
/**
|
||||||
|
* File generated by the uGFX-Sudio
|
||||||
|
*
|
||||||
|
* Original image file: C:/test_joel/studio/tokenring/resources/token_w.bmp
|
||||||
|
*/
|
||||||
|
|
||||||
|
static const char token_w[] = {
|
||||||
|
0x42, 0x4D, 0x1C, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x02, 0x00, 0x00, 0x28, 0x00,
|
||||||
|
0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0xCE, 0x36, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x12, 0x0B, 0x00, 0x00, 0x86, 0x00,
|
||||||
|
0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x96, 0x96, 0x96, 0x00, 0x50, 0x59, 0x57, 0x00, 0xBA, 0xC7,
|
||||||
|
0xC8, 0x00, 0xE5, 0xE5, 0xE5, 0x00, 0xC5, 0xD6, 0xD6, 0x00, 0xD9, 0xD9, 0xD9, 0x00, 0x87, 0x88,
|
||||||
|
0x88, 0x00, 0x99, 0x26, 0x00, 0x00, 0x6B, 0x6B, 0xD9, 0x00, 0xD7, 0x62, 0x3A, 0x00, 0x60, 0x63,
|
||||||
|
0x63, 0x00, 0xAA, 0xE9, 0xAA, 0x00, 0xA3, 0xA3, 0xA3, 0x00, 0x79, 0x7B, 0x7A, 0x00, 0x42, 0x46,
|
||||||
|
0x44, 0x00, 0x6E, 0xDA, 0x6E, 0x00, 0xCB, 0xF2, 0xCB, 0x00, 0x3B, 0xB1, 0xFF, 0x00, 0x6E, 0x77,
|
||||||
|
0x77, 0x00, 0xAB, 0xAB, 0xE9, 0x00, 0x7C, 0xCB, 0xFF, 0x00, 0x9D, 0xA2, 0xA3, 0x00, 0xE4, 0x95,
|
||||||
|
0x7A, 0x00, 0x97, 0x97, 0xE4, 0x00, 0x37, 0x3A, 0x3A, 0x00, 0xF3, 0xF3, 0xF3, 0x00, 0x98, 0xE5,
|
||||||
|
0x98, 0x00, 0x00, 0x72, 0xBF, 0x00, 0xD2, 0xE4, 0xE5, 0x00, 0x95, 0xD4, 0xFF, 0x00, 0xCB, 0xCB,
|
||||||
|
0xCB, 0x00, 0xA3, 0xB2, 0xB3, 0x00, 0x6E, 0x6E, 0x6E, 0x00, 0x7E, 0x83, 0x82, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xAC, 0xB6, 0xB6, 0x00, 0xDD, 0x79, 0x58, 0x00, 0x54, 0x54, 0xD4, 0x00, 0xEA, 0xAF,
|
||||||
|
0x9B, 0x00, 0xB3, 0xBE, 0xBF, 0x00, 0xB0, 0xB0, 0xB0, 0x00, 0xD0, 0x53, 0x53, 0x00, 0x8A, 0x97,
|
||||||
|
0x96, 0x00, 0x54, 0xD4, 0x54, 0x00, 0x59, 0xBC, 0xFF, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0xAC, 0xBC,
|
||||||
|
0xBC, 0x00, 0x9B, 0x4F, 0x3C, 0x00, 0xDA, 0xEE, 0xEF, 0x00, 0xA1, 0xB0, 0xAF, 0x00, 0xCA, 0xDB,
|
||||||
|
0xDC, 0x00, 0x9F, 0x83, 0x78, 0x00, 0x92, 0x74, 0x68, 0x00, 0xFB, 0xFB, 0xFB, 0x00, 0xCF, 0xCF,
|
||||||
|
0xCF, 0x00, 0xBD, 0xBD, 0xBD, 0x00, 0x2B, 0x2B, 0x2B, 0x00, 0x96, 0xA3, 0xA3, 0x00, 0xD6, 0xE9,
|
||||||
|
0xEA, 0x00, 0x67, 0x6A, 0x69, 0x00, 0xF5, 0x62, 0x62, 0x00, 0x9F, 0xAA, 0xAA, 0x00, 0xCF, 0xB0,
|
||||||
|
0xB0, 0x00, 0x5C, 0x65, 0x64, 0x00, 0xD2, 0x6E, 0x6E, 0x00, 0xE6, 0x5B, 0x5B, 0x00, 0xCE, 0xDF,
|
||||||
|
0xE0, 0x00, 0x52, 0x53, 0x53, 0x00, 0xC1, 0xCF, 0xD0, 0x00, 0x14, 0x14, 0x14, 0x00, 0x2D, 0x31,
|
||||||
|
0x2F, 0x00, 0x7C, 0x85, 0x85, 0x00, 0x40, 0x41, 0x40, 0x00, 0x89, 0x8F, 0x8F, 0x00, 0x5A, 0x5E,
|
||||||
|
0x5D, 0x00, 0x23, 0x28, 0x25, 0x00, 0x7E, 0x8B, 0x8A, 0x00, 0xFF, 0x8C, 0x8C, 0x00, 0xFF, 0xD9,
|
||||||
|
0xD9, 0x00, 0xFF, 0xB3, 0xB3, 0x00, 0xFF, 0x70, 0x70, 0x00, 0xFF, 0xF6, 0xF6, 0x00, 0xFF, 0xC6,
|
||||||
|
0xC6, 0x00, 0xFF, 0xEC, 0xEC, 0x00, 0x79, 0x83, 0xAA, 0x00, 0x79, 0xAA, 0x84, 0x00, 0xFF, 0x79,
|
||||||
|
0x79, 0x00, 0xFF, 0xE3, 0xE3, 0x00, 0xFF, 0xA0, 0xA0, 0x00, 0xFF, 0x83, 0x83, 0x00, 0xFF, 0xA9,
|
||||||
|
0xA9, 0x00, 0x36, 0x88, 0xBB, 0x00, 0xFF, 0xD0, 0xD0, 0x00, 0xFF, 0x96, 0x96, 0x00, 0xFF, 0xBC,
|
||||||
|
0xBC, 0x00, 0xCA, 0xCA, 0xF2, 0x00, 0xBF, 0xE5, 0xFF, 0x00, 0xF2, 0xCC, 0xBF, 0x00, 0xCF, 0xE2,
|
||||||
|
0xE3, 0x00, 0xFB, 0xF2, 0xEF, 0x00, 0x0F, 0x9F, 0xFF, 0x00, 0xF2, 0xF2, 0xFB, 0x00, 0x3F, 0x3F,
|
||||||
|
0xCF, 0x00, 0xEF, 0xF8, 0xFF, 0x00, 0x1F, 0xA5, 0xFF, 0x00, 0xD1, 0x47, 0x18, 0x00, 0xF8, 0xE5,
|
||||||
|
0xDF, 0x00, 0xF2, 0xFB, 0xF2, 0x00, 0x39, 0x40, 0x3E, 0x00, 0xDF, 0xF2, 0xFF, 0x00, 0xF5, 0xD8,
|
||||||
|
0xCF, 0x00, 0x3F, 0xCF, 0x3F, 0x00, 0xAF, 0xDF, 0xFF, 0x00, 0x32, 0x34, 0x33, 0x00, 0xD8, 0xD8,
|
||||||
|
0xF5, 0x00, 0x9C, 0xA7, 0xA7, 0x00, 0xCF, 0xEB, 0xFF, 0x00, 0x48, 0x4E, 0x4B, 0x00, 0xE5, 0xE5,
|
||||||
|
0xF8, 0x00, 0xEF, 0xBF, 0xAF, 0x00, 0x69, 0x72, 0x71, 0x00, 0xE5, 0xF8, 0xE5, 0x00, 0x73, 0x7E,
|
||||||
|
0x7D, 0x00, 0xA6, 0xB5, 0xC0, 0x00, 0xCF, 0x91, 0x91, 0x00, 0xA6, 0xBF, 0xB6, 0x00, 0x5F, 0x8E,
|
||||||
|
0xA8, 0x00, 0xF0, 0x7B, 0x7B, 0x00, 0xCC, 0x33, 0x00, 0x00, 0x33, 0x33, 0xCC, 0x00, 0x00, 0x99,
|
||||||
|
0xFF, 0x00, 0x33, 0xCC, 0x33, 0x00, 0xFF, 0x66, 0x66, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x76, 0x85,
|
||||||
|
0x01, 0x05, 0x3C, 0x4A, 0x01, 0x1E, 0x78, 0x85, 0x00, 0x00, 0x75, 0x85, 0x01, 0x1E, 0x3E, 0x4B,
|
||||||
|
0x01, 0x1E, 0x77, 0x85, 0x00, 0x00, 0x75, 0x85, 0x00, 0x03, 0x00, 0x4B, 0x3B, 0x00, 0x3A, 0x21,
|
||||||
|
0x00, 0x03, 0x0A, 0x4B, 0x3B, 0x00, 0x77, 0x85, 0x00, 0x00, 0x75, 0x85, 0x00, 0x04, 0x00, 0x4B,
|
||||||
|
0x2E, 0x2E, 0x05, 0x4C, 0x01, 0x39, 0x01, 0x2E, 0x18, 0x4C, 0x01, 0x39, 0x01, 0x31, 0x04, 0x4C,
|
||||||
|
0x01, 0x2A, 0x01, 0x31, 0x07, 0x4C, 0x01, 0x31, 0x01, 0x39, 0x09, 0x4C, 0x00, 0x03, 0x2E, 0x3F,
|
||||||
|
0x4A, 0x00, 0x77, 0x85, 0x00, 0x00, 0x75, 0x85, 0x00, 0x05, 0x03, 0x4B, 0x31, 0x30, 0x01, 0x00,
|
||||||
|
0x04, 0x21, 0x00, 0x03, 0x4C, 0x30, 0x43, 0x00, 0x17, 0x21, 0x00, 0x09, 0x4C, 0x2E, 0x3B, 0x21,
|
||||||
|
0x21, 0x21, 0x78, 0x2E, 0x3B, 0x00, 0x05, 0x21, 0x00, 0x03, 0x3B, 0x2E, 0x78, 0x00, 0x08, 0x21,
|
||||||
|
0x00, 0x04, 0x43, 0x30, 0x01, 0x0D, 0x77, 0x85, 0x00, 0x00, 0x76, 0x85, 0x00, 0x0F, 0x75, 0x78,
|
||||||
|
0x30, 0x7A, 0x02, 0x02, 0x02, 0x27, 0x3B, 0x0A, 0x7A, 0x02, 0x02, 0x02, 0x23, 0x00, 0x0F, 0x02,
|
||||||
|
0x00, 0x21, 0x27, 0x02, 0x02, 0x02, 0x0A, 0x0A, 0x2A, 0x02, 0x02, 0x02, 0x7A, 0x4C, 0x31, 0x02,
|
||||||
|
0x3D, 0x02, 0x23, 0x02, 0x39, 0x2E, 0x12, 0x02, 0x02, 0x02, 0x27, 0x27, 0x02, 0x23, 0x02, 0x47,
|
||||||
|
0x30, 0x71, 0x00, 0x00, 0x77, 0x85, 0x00, 0x00, 0x76, 0x85, 0x00, 0x3F, 0x15, 0x4B, 0x62, 0x02,
|
||||||
|
0x02, 0x30, 0x30, 0x1C, 0x02, 0x15, 0x1F, 0x3A, 0x30, 0x42, 0x44, 0x42, 0x30, 0x30, 0x1C, 0x30,
|
||||||
|
0x1C, 0x30, 0x30, 0x1C, 0x30, 0x1C, 0x30, 0x1C, 0x30, 0x30, 0x04, 0x30, 0x1C, 0x30, 0x1F, 0x27,
|
||||||
|
0x44, 0x30, 0x30, 0x30, 0x4C, 0x62, 0x2A, 0x2E, 0x2A, 0x30, 0x3D, 0x2E, 0x39, 0x62, 0x12, 0x30,
|
||||||
|
0x1C, 0x30, 0x32, 0x32, 0x30, 0x02, 0x30, 0x2A, 0x62, 0x4B, 0x1E, 0x00, 0x77, 0x85, 0x00, 0x00,
|
||||||
|
0x76, 0x85, 0x00, 0x24, 0x03, 0x4B, 0x39, 0x30, 0x2A, 0x30, 0x30, 0x3A, 0x32, 0x23, 0x23, 0x04,
|
||||||
|
0x30, 0x44, 0x3A, 0x44, 0x32, 0x30, 0x02, 0x1C, 0x44, 0x1C, 0x30, 0x44, 0x3A, 0x44, 0x1C, 0x04,
|
||||||
|
0x04, 0x30, 0x44, 0x1C, 0x44, 0x1C, 0x1C, 0x04, 0x04, 0x30, 0x00, 0x17, 0x4C, 0x4C, 0x0A, 0x0A,
|
||||||
|
0x47, 0x32, 0x21, 0x0A, 0x0E, 0x30, 0x12, 0x30, 0x02, 0x30, 0x32, 0x42, 0x30, 0x02, 0x30, 0x39,
|
||||||
|
0x2E, 0x4B, 0x05, 0x00, 0x77, 0x85, 0x00, 0x00, 0x77, 0x85, 0x00, 0x23, 0x3B, 0x3F, 0x30, 0x39,
|
||||||
|
0x30, 0x30, 0x3A, 0x1F, 0x2E, 0x30, 0x42, 0x42, 0x30, 0x04, 0x30, 0x04, 0x1C, 0x30, 0x44, 0x30,
|
||||||
|
0x44, 0x30, 0x1C, 0x04, 0x30, 0x04, 0x30, 0x44, 0x30, 0x30, 0x44, 0x30, 0x44, 0x30, 0x04, 0x00,
|
||||||
|
0x04, 0x30, 0x00, 0x17, 0x4C, 0x4C, 0x1F, 0x23, 0x3D, 0x23, 0x3D, 0x23, 0x78, 0x30, 0x3B, 0x30,
|
||||||
|
0x02, 0x30, 0x32, 0x30, 0x42, 0x44, 0x30, 0x39, 0x2A, 0x4B, 0x35, 0x00, 0x77, 0x85, 0x00, 0x00,
|
||||||
|
0x77, 0x85, 0x00, 0x3D, 0x28, 0x4B, 0x04, 0x31, 0x02, 0x30, 0x1C, 0x42, 0x32, 0x3A, 0x44, 0x42,
|
||||||
|
0x42, 0x42, 0x30, 0x44, 0x1C, 0x44, 0x42, 0x30, 0x44, 0x3A, 0x44, 0x1C, 0x44, 0x32, 0x42, 0x44,
|
||||||
|
0x3A, 0x44, 0x1C, 0x44, 0x42, 0x30, 0x02, 0x3A, 0x42, 0x30, 0x30, 0x4C, 0x4C, 0x32, 0x30, 0x02,
|
||||||
|
0x30, 0x02, 0x30, 0x31, 0x30, 0x78, 0x30, 0x2E, 0x30, 0x02, 0x30, 0x32, 0x32, 0x30, 0x39, 0x7A,
|
||||||
|
0x4A, 0x00, 0x78, 0x85, 0x00, 0x00, 0x77, 0x85, 0x00, 0x3D, 0x19, 0x4B, 0x2A, 0x30, 0x7A, 0x62,
|
||||||
|
0x2A, 0x2E, 0x39, 0x2A, 0x04, 0x3D, 0x62, 0x3D, 0x42, 0x62, 0x3D, 0x62, 0x3D, 0x02, 0x1F, 0x02,
|
||||||
|
0x62, 0x73, 0x62, 0x49, 0x62, 0x02, 0x02, 0x02, 0x47, 0x62, 0x78, 0x62, 0x2E, 0x2E, 0x62, 0x62,
|
||||||
|
0x62, 0x47, 0x4C, 0x2A, 0x2E, 0x7A, 0x2E, 0x7A, 0x2E, 0x2A, 0x30, 0x39, 0x2E, 0x7A, 0x2E, 0x12,
|
||||||
|
0x2E, 0x39, 0x39, 0x31, 0x04, 0x01, 0x0D, 0x00, 0x78, 0x85, 0x00, 0x00, 0x78, 0x85, 0x00, 0x2F,
|
||||||
|
0x0D, 0x75, 0x30, 0x21, 0x04, 0x3D, 0x2E, 0x30, 0x04, 0x47, 0x04, 0x2A, 0x04, 0x31, 0x04, 0x04,
|
||||||
|
0x39, 0x04, 0x4A, 0x3F, 0x04, 0x49, 0x04, 0x27, 0x27, 0x04, 0x39, 0x04, 0x3B, 0x12, 0x04, 0x39,
|
||||||
|
0x04, 0x27, 0x2E, 0x04, 0x39, 0x04, 0x47, 0x4C, 0x27, 0x27, 0x39, 0x04, 0x2A, 0x04, 0x47, 0x00,
|
||||||
|
0x0B, 0x30, 0x01, 0x71, 0x01, 0x00, 0x78, 0x85, 0x00, 0x00, 0x78, 0x85, 0x00, 0x2F, 0x1E, 0x71,
|
||||||
|
0x4B, 0x71, 0x4C, 0x78, 0x4B, 0x4B, 0x4B, 0x01, 0x4C, 0x6C, 0x4C, 0x78, 0x78, 0x4C, 0x75, 0x4C,
|
||||||
|
0x01, 0x6C, 0x4C, 0x01, 0x7A, 0x78, 0x01, 0x4C, 0x6C, 0x4C, 0x01, 0x6C, 0x4C, 0x01, 0x4C, 0x78,
|
||||||
|
0x78, 0x4C, 0x01, 0x4C, 0x6C, 0x4B, 0x78, 0x4C, 0x01, 0x4C, 0x01, 0x4C, 0x6C, 0x00, 0x0B, 0x4B,
|
||||||
|
0x01, 0x46, 0x01, 0x03, 0x78, 0x85, 0x00, 0x00, 0x79, 0x85, 0x00, 0x0B, 0x03, 0x00, 0x12, 0x43,
|
||||||
|
0x43, 0x0D, 0x0D, 0x0D, 0x4A, 0x43, 0x4A, 0x00, 0x05, 0x43, 0x00, 0x03, 0x4B, 0x75, 0x4A, 0x00,
|
||||||
|
0x08, 0x75, 0x01, 0x01, 0x01, 0x4A, 0x08, 0x75, 0x00, 0x03, 0x01, 0x4B, 0x0E, 0x00, 0x05, 0x43,
|
||||||
|
0x01, 0x0A, 0x0B, 0x0D, 0x01, 0x36, 0x79, 0x85, 0x00, 0x00, 0x88, 0x85, 0x01, 0x05, 0x01, 0x46,
|
||||||
|
0x15, 0x27, 0x00, 0x03, 0x75, 0x28, 0x35, 0x00, 0x8A, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x01, 0x15,
|
||||||
|
0x01, 0x45, 0x2C, 0x22, 0x01, 0x20, 0x80, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x01, 0x22, 0x01, 0x01,
|
||||||
|
0x2B, 0x1F, 0x00, 0x04, 0x12, 0x22, 0x1E, 0x19, 0x7E, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x44, 0x00, 0x29, 0x1F, 0x00, 0x05, 0x44, 0x30, 0x22, 0x00, 0x05, 0x00, 0x7E, 0x85,
|
||||||
|
0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x29, 0x83, 0x00, 0x05, 0x55, 0x30,
|
||||||
|
0x22, 0x15, 0x36, 0x00, 0x7E, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00,
|
||||||
|
0x29, 0x83, 0x00, 0x06, 0x55, 0x30, 0x22, 0x00, 0x36, 0x35, 0x7D, 0x85, 0x00, 0x00, 0x7D, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x29, 0x83, 0x00, 0x06, 0x55, 0x30, 0x22, 0x15, 0x44, 0x19,
|
||||||
|
0x7D, 0x85, 0x00, 0x00, 0x77, 0x85, 0x00, 0x09, 0x4E, 0x5C, 0x4F, 0x58, 0x4D, 0x56, 0x22, 0x1F,
|
||||||
|
0x55, 0x00, 0x0E, 0x83, 0x01, 0x10, 0x07, 0x85, 0x00, 0x03, 0x6B, 0x10, 0x0F, 0x00, 0x10, 0x83,
|
||||||
|
0x00, 0x09, 0x55, 0x30, 0x22, 0x2F, 0x40, 0x58, 0x4F, 0x4E, 0x57, 0x00, 0x7A, 0x85, 0x00, 0x00,
|
||||||
|
0x71, 0x85, 0x00, 0x05, 0x4E, 0x5E, 0x5A, 0x4D, 0x50, 0x00, 0x07, 0x84, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x55, 0x00, 0x0E, 0x83, 0x01, 0x10, 0x0A, 0x85, 0x01, 0x0B, 0x0F, 0x83, 0x00, 0x06, 0x55, 0x30,
|
||||||
|
0x22, 0x2F, 0x29, 0x41, 0x04, 0x84, 0x00, 0x05, 0x56, 0x4D, 0x4F, 0x52, 0x57, 0x00, 0x74, 0x85,
|
||||||
|
0x00, 0x00, 0x6B, 0x85, 0x00, 0x05, 0x51, 0x4E, 0x4F, 0x5D, 0x56, 0x00, 0x0D, 0x84, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x07, 0x10, 0x85, 0x85, 0x85, 0x79, 0x10, 0x10, 0x00,
|
||||||
|
0x05, 0x85, 0x01, 0x0F, 0x0E, 0x83, 0x00, 0x06, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x0A, 0x84,
|
||||||
|
0x00, 0x04, 0x4D, 0x58, 0x5E, 0x57, 0x6F, 0x85, 0x00, 0x00, 0x67, 0x85, 0x00, 0x04, 0x53, 0x52,
|
||||||
|
0x58, 0x59, 0x12, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x0D, 0x10, 0x85,
|
||||||
|
0x85, 0x85, 0x1A, 0x83, 0x83, 0x2B, 0x10, 0x85, 0x85, 0x85, 0x79, 0x00, 0x0E, 0x83, 0x00, 0x06,
|
||||||
|
0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x0F, 0x84, 0x00, 0x04, 0x4D, 0x4F, 0x5C, 0x51, 0x6A, 0x85,
|
||||||
|
0x00, 0x00, 0x63, 0x85, 0x00, 0x04, 0x53, 0x52, 0x58, 0x56, 0x16, 0x84, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x55, 0x00, 0x0E, 0x83, 0x00, 0x09, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x83, 0x83, 0x83, 0x2B, 0x00,
|
||||||
|
0x04, 0x85, 0x01, 0x0F, 0x0D, 0x83, 0x00, 0x07, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x3C, 0x00,
|
||||||
|
0x12, 0x84, 0x00, 0x04, 0x59, 0x5A, 0x5C, 0x51, 0x66, 0x85, 0x00, 0x00, 0x5F, 0x85, 0x00, 0x04,
|
||||||
|
0x51, 0x5C, 0x5A, 0x56, 0x1A, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05,
|
||||||
|
0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00,
|
||||||
|
0x0D, 0x83, 0x00, 0x07, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x41, 0x00, 0x16, 0x84, 0x00, 0x03,
|
||||||
|
0x59, 0x4F, 0x57, 0x00, 0x63, 0x85, 0x00, 0x00, 0x5C, 0x85, 0x00, 0x03, 0x53, 0x5E, 0x5D, 0x00,
|
||||||
|
0x1E, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85,
|
||||||
|
0x1A, 0x00, 0x04, 0x83, 0x00, 0x05, 0x0B, 0x85, 0x85, 0x85, 0x10, 0x00, 0x0D, 0x83, 0x00, 0x07,
|
||||||
|
0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x41, 0x00, 0x19, 0x84, 0x00, 0x04, 0x50, 0x58, 0x5C, 0x51,
|
||||||
|
0x5F, 0x85, 0x00, 0x00, 0x59, 0x85, 0x00, 0x03, 0x53, 0x5E, 0x59, 0x00, 0x21, 0x84, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x83,
|
||||||
|
0x00, 0x05, 0x1A, 0x85, 0x85, 0x85, 0x10, 0x00, 0x0D, 0x83, 0x00, 0x07, 0x55, 0x30, 0x22, 0x2F,
|
||||||
|
0x29, 0x29, 0x29, 0x00, 0x1D, 0x84, 0x00, 0x03, 0x5D, 0x52, 0x51, 0x00, 0x5C, 0x85, 0x00, 0x00,
|
||||||
|
0x56, 0x85, 0x00, 0x03, 0x53, 0x5E, 0x59, 0x00, 0x24, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00,
|
||||||
|
0x0E, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x83, 0x00, 0x05, 0x1A, 0x85,
|
||||||
|
0x85, 0x85, 0x10, 0x00, 0x0D, 0x83, 0x00, 0x07, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x00,
|
||||||
|
0x20, 0x84, 0x00, 0x03, 0x5D, 0x52, 0x51, 0x00, 0x59, 0x85, 0x00, 0x00, 0x53, 0x85, 0x00, 0x03,
|
||||||
|
0x51, 0x52, 0x4D, 0x00, 0x27, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05,
|
||||||
|
0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x83, 0x00, 0x05, 0x1A, 0x85, 0x85, 0x85, 0x10, 0x00,
|
||||||
|
0x0D, 0x83, 0x00, 0x08, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x3C, 0x21, 0x84, 0x00, 0x03,
|
||||||
|
0x50, 0x58, 0x5C, 0x00, 0x57, 0x85, 0x00, 0x00, 0x51, 0x85, 0x00, 0x03, 0x4E, 0x58, 0x50, 0x00,
|
||||||
|
0x29, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85,
|
||||||
|
0x1A, 0x00, 0x04, 0x83, 0x00, 0x05, 0x1A, 0x85, 0x85, 0x85, 0x10, 0x00, 0x0D, 0x83, 0x00, 0x08,
|
||||||
|
0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x3C, 0x24, 0x84, 0x00, 0x03, 0x56, 0x4F, 0x53, 0x00,
|
||||||
|
0x54, 0x85, 0x00, 0x00, 0x4E, 0x85, 0x00, 0x03, 0x51, 0x5E, 0x56, 0x00, 0x2C, 0x84, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x00, 0x04, 0x83,
|
||||||
|
0x00, 0x05, 0x10, 0x85, 0x85, 0x85, 0x0B, 0x00, 0x0D, 0x83, 0x00, 0x08, 0x55, 0x30, 0x22, 0x2F,
|
||||||
|
0x29, 0x29, 0x29, 0x41, 0x27, 0x84, 0x01, 0x5D, 0x01, 0x5C, 0x52, 0x85, 0x00, 0x00, 0x4C, 0x85,
|
||||||
|
0x00, 0x03, 0x53, 0x58, 0x50, 0x00, 0x2E, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83,
|
||||||
|
0x00, 0x09, 0x10, 0x85, 0x85, 0x85, 0x1A, 0x83, 0x83, 0x83, 0x6F, 0x00, 0x04, 0x85, 0x01, 0x1A,
|
||||||
|
0x0D, 0x83, 0x00, 0x08, 0x55, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x41, 0x29, 0x84, 0x00, 0x03,
|
||||||
|
0x56, 0x4F, 0x51, 0x00, 0x4F, 0x85, 0x00, 0x00, 0x4A, 0x85, 0x01, 0x4E, 0x01, 0x4D, 0x2C, 0x84,
|
||||||
|
0x00, 0x08, 0x59, 0x5D, 0x4F, 0x52, 0x4E, 0x22, 0x1F, 0x55, 0x0E, 0x83, 0x00, 0x09, 0x10, 0x85,
|
||||||
|
0x85, 0x85, 0x1A, 0x83, 0x83, 0x83, 0x0B, 0x00, 0x04, 0x85, 0x01, 0x2B, 0x0D, 0x83, 0x00, 0x08,
|
||||||
|
0x55, 0x30, 0x22, 0x33, 0x7C, 0x7C, 0x40, 0x40, 0x2B, 0x84, 0x00, 0x03, 0x50, 0x58, 0x53, 0x00,
|
||||||
|
0x4D, 0x85, 0x00, 0x00, 0x48, 0x85, 0x01, 0x52, 0x01, 0x59, 0x28, 0x84, 0x00, 0x05, 0x59, 0x5D,
|
||||||
|
0x4F, 0x4E, 0x53, 0x00, 0x06, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x00, 0x08,
|
||||||
|
0x10, 0x85, 0x85, 0x85, 0x1A, 0x83, 0x2B, 0x0B, 0x04, 0x85, 0x01, 0x0B, 0x0E, 0x83, 0x00, 0x04,
|
||||||
|
0x55, 0x30, 0x22, 0x15, 0x04, 0x36, 0x00, 0x06, 0x85, 0x4E, 0x52, 0x4F, 0x4D, 0x50, 0x28, 0x84,
|
||||||
|
0x01, 0x58, 0x01, 0x57, 0x4B, 0x85, 0x00, 0x00, 0x46, 0x85, 0x01, 0x52, 0x01, 0x56, 0x25, 0x84,
|
||||||
|
0x00, 0x04, 0x56, 0x5D, 0x5E, 0x4E, 0x0C, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83,
|
||||||
|
0x01, 0x10, 0x0A, 0x85, 0x01, 0x6B, 0x01, 0x2B, 0x0E, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x00,
|
||||||
|
0x04, 0x36, 0x01, 0x19, 0x05, 0x85, 0x00, 0x05, 0x53, 0x5C, 0x4F, 0x4D, 0x50, 0x00, 0x25, 0x84,
|
||||||
|
0x01, 0x4D, 0x01, 0x4E, 0x49, 0x85, 0x00, 0x00, 0x44, 0x85, 0x01, 0x52, 0x01, 0x56, 0x23, 0x84,
|
||||||
|
0x00, 0x04, 0x59, 0x5A, 0x5C, 0x53, 0x10, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83,
|
||||||
|
0x01, 0x10, 0x09, 0x85, 0x01, 0x79, 0x01, 0x2B, 0x0F, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x00,
|
||||||
|
0x04, 0x36, 0x01, 0x19, 0x0A, 0x85, 0x00, 0x04, 0x57, 0x5E, 0x58, 0x56, 0x23, 0x84, 0x01, 0x4D,
|
||||||
|
0x01, 0x4E, 0x47, 0x85, 0x00, 0x00, 0x42, 0x85, 0x01, 0x5C, 0x01, 0x56, 0x21, 0x84, 0x00, 0x04,
|
||||||
|
0x56, 0x5A, 0x5C, 0x51, 0x14, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x0E, 0x83, 0x01, 0x0B,
|
||||||
|
0x07, 0x10, 0x01, 0x0B, 0x01, 0x0F, 0x11, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x15, 0x04, 0x36,
|
||||||
|
0x01, 0x03, 0x0E, 0x85, 0x00, 0x04, 0x53, 0x52, 0x5D, 0x50, 0x21, 0x84, 0x01, 0x5D, 0x01, 0x53,
|
||||||
|
0x45, 0x85, 0x00, 0x00, 0x40, 0x85, 0x01, 0x4E, 0x01, 0x4D, 0x20, 0x84, 0x00, 0x03, 0x5D, 0x5E,
|
||||||
|
0x53, 0x00, 0x18, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x29, 0x83, 0x00, 0x04, 0x55, 0x30,
|
||||||
|
0x22, 0x00, 0x04, 0x36, 0x01, 0x05, 0x12, 0x85, 0x00, 0x03, 0x57, 0x4F, 0x59, 0x00, 0x20, 0x84,
|
||||||
|
0x01, 0x58, 0x01, 0x51, 0x43, 0x85, 0x00, 0x00, 0x3E, 0x85, 0x01, 0x53, 0x01, 0x58, 0x1E, 0x84,
|
||||||
|
0x00, 0x04, 0x50, 0x58, 0x5C, 0x51, 0x1B, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x29, 0x83,
|
||||||
|
0x00, 0x04, 0x55, 0x30, 0x22, 0x00, 0x05, 0x36, 0x15, 0x85, 0x00, 0x03, 0x53, 0x5E, 0x5D, 0x00,
|
||||||
|
0x1E, 0x84, 0x01, 0x50, 0x01, 0x4F, 0x42, 0x85, 0x00, 0x00, 0x3D, 0x85, 0x01, 0x4F, 0x01, 0x50,
|
||||||
|
0x1C, 0x84, 0x00, 0x03, 0x50, 0x58, 0x5C, 0x00, 0x1F, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00,
|
||||||
|
0x04, 0x83, 0x04, 0x10, 0x00, 0x1D, 0x6F, 0x83, 0x10, 0x0B, 0x83, 0x10, 0x0F, 0x83, 0x6F, 0x10,
|
||||||
|
0x1A, 0x83, 0x10, 0x0F, 0x83, 0x0F, 0x10, 0x2B, 0x6F, 0x0B, 0x6B, 0x10, 0x0F, 0x83, 0x10, 0x2B,
|
||||||
|
0x83, 0x2B, 0x10, 0x00, 0x04, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x15, 0x05, 0x36, 0x01, 0x35,
|
||||||
|
0x17, 0x85, 0x00, 0x03, 0x51, 0x52, 0x5D, 0x00, 0x1D, 0x84, 0x01, 0x56, 0x01, 0x4E, 0x40, 0x85,
|
||||||
|
0x00, 0x00, 0x3B, 0x85, 0x01, 0x4E, 0x01, 0x56, 0x1C, 0x84, 0x01, 0x5D, 0x01, 0x52, 0x22, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x04, 0x83, 0x00, 0x21, 0x1A, 0x2B, 0x1A, 0x85, 0x0B, 0x83,
|
||||||
|
0x85, 0x10, 0x83, 0x10, 0x79, 0x1A, 0x0B, 0x85, 0x0F, 0x83, 0x85, 0x1A, 0x83, 0x1A, 0x85, 0x2B,
|
||||||
|
0x10, 0x6B, 0x0F, 0x10, 0x85, 0x6F, 0x85, 0x0F, 0x2B, 0x6B, 0x85, 0x00, 0x04, 0x83, 0x00, 0x04,
|
||||||
|
0x55, 0x30, 0x22, 0x00, 0x05, 0x36, 0x01, 0x35, 0x1A, 0x85, 0x00, 0x03, 0x53, 0x5E, 0x59, 0x00,
|
||||||
|
0x1C, 0x84, 0x01, 0x5D, 0x01, 0x53, 0x3E, 0x85, 0x00, 0x00, 0x39, 0x85, 0x01, 0x51, 0x01, 0x58,
|
||||||
|
0x1B, 0x84, 0x00, 0x03, 0x56, 0x5E, 0x51, 0x00, 0x24, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00,
|
||||||
|
0x05, 0x83, 0x00, 0x20, 0x0F, 0x10, 0x85, 0x0B, 0x83, 0x85, 0x10, 0x83, 0x0F, 0x85, 0x10, 0x85,
|
||||||
|
0x6B, 0x83, 0x83, 0x85, 0x1A, 0x83, 0x1A, 0x85, 0x0F, 0x6B, 0x10, 0x83, 0x0F, 0x85, 0x1A, 0x85,
|
||||||
|
0x0F, 0x79, 0x85, 0x85, 0x04, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x2D, 0x23, 0x85, 0x00, 0x03,
|
||||||
|
0x57, 0x5A, 0x50, 0x00, 0x1A, 0x84, 0x01, 0x50, 0x01, 0x5E, 0x3D, 0x85, 0x00, 0x00, 0x38, 0x85,
|
||||||
|
0x01, 0x5C, 0x01, 0x50, 0x1A, 0x84, 0x01, 0x58, 0x01, 0x4E, 0x27, 0x85, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x55, 0x00, 0x04, 0x83, 0x00, 0x21, 0x1A, 0x85, 0x85, 0x10, 0x6F, 0x83, 0x85, 0x10, 0x83, 0x83,
|
||||||
|
0x6B, 0x0B, 0x85, 0x0B, 0x83, 0x83, 0x85, 0x1A, 0x83, 0x1A, 0x85, 0x0F, 0x85, 0x10, 0x83, 0x0F,
|
||||||
|
0x85, 0x1A, 0x85, 0x6B, 0x85, 0x1A, 0x85, 0x00, 0x04, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x2D,
|
||||||
|
0x26, 0x85, 0x01, 0x52, 0x01, 0x4D, 0x1A, 0x84, 0x01, 0x4D, 0x01, 0x57, 0x3B, 0x85, 0x00, 0x00,
|
||||||
|
0x36, 0x85, 0x01, 0x51, 0x01, 0x5D, 0x19, 0x84, 0x00, 0x03, 0x56, 0x4F, 0x51, 0x00, 0x29, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x04, 0x83, 0x00, 0x21, 0x10, 0x85, 0x6F, 0x83, 0x6F, 0x83,
|
||||||
|
0x85, 0x10, 0x83, 0x83, 0x0B, 0x85, 0x85, 0x2B, 0x83, 0x83, 0x85, 0x1A, 0x83, 0x1A, 0x85, 0x0F,
|
||||||
|
0x10, 0x79, 0x83, 0x0F, 0x85, 0x2B, 0x85, 0x85, 0x0F, 0x0F, 0x85, 0x00, 0x04, 0x83, 0x00, 0x04,
|
||||||
|
0x55, 0x30, 0x22, 0x2D, 0x28, 0x85, 0x01, 0x57, 0x01, 0x58, 0x19, 0x84, 0x01, 0x50, 0x01, 0x5E,
|
||||||
|
0x3A, 0x85, 0x00, 0x00, 0x35, 0x85, 0x01, 0x4E, 0x01, 0x50, 0x18, 0x84, 0x01, 0x56, 0x01, 0x52,
|
||||||
|
0x2C, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x04, 0x83, 0x00, 0x05, 0x0F, 0x85, 0x85, 0x85,
|
||||||
|
0x1A, 0x00, 0x04, 0x85, 0x00, 0x06, 0x83, 0x2B, 0x85, 0x10, 0x83, 0x1A, 0x04, 0x85, 0x00, 0x0E,
|
||||||
|
0x1A, 0x85, 0x0F, 0x2B, 0x6B, 0x85, 0x85, 0x0B, 0x83, 0x85, 0x1A, 0x83, 0x0F, 0x85, 0x04, 0x83,
|
||||||
|
0x00, 0x04, 0x55, 0x30, 0x22, 0x2D, 0x2A, 0x85, 0x00, 0x03, 0x51, 0x4F, 0x50, 0x00, 0x18, 0x84,
|
||||||
|
0x01, 0x4D, 0x01, 0x53, 0x38, 0x85, 0x00, 0x00, 0x34, 0x85, 0x01, 0x5A, 0x18, 0x84, 0x01, 0x4D,
|
||||||
|
0x01, 0x4E, 0x2E, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x05, 0x83, 0x00, 0x03, 0x6F, 0x0F,
|
||||||
|
0x2B, 0x00, 0x14, 0x83, 0x01, 0x0F, 0x01, 0x2B, 0x0B, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x2D,
|
||||||
|
0x2C, 0x85, 0x00, 0x03, 0x51, 0x52, 0x56, 0x00, 0x17, 0x84, 0x01, 0x50, 0x01, 0x5C, 0x37, 0x85,
|
||||||
|
0x00, 0x00, 0x32, 0x85, 0x01, 0x53, 0x01, 0x59, 0x17, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x30, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x55, 0x00, 0x29, 0x83, 0x00, 0x04, 0x55, 0x30, 0x22, 0x2D, 0x2F, 0x85,
|
||||||
|
0x01, 0x52, 0x01, 0x56, 0x17, 0x84, 0x01, 0x5A, 0x36, 0x85, 0x00, 0x00, 0x31, 0x85, 0x01, 0x4E,
|
||||||
|
0x01, 0x50, 0x16, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x32, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x7D, 0x00,
|
||||||
|
0x29, 0x55, 0x00, 0x04, 0x7D, 0x30, 0x22, 0x2D, 0x31, 0x85, 0x01, 0x52, 0x01, 0x50, 0x16, 0x84,
|
||||||
|
0x01, 0x59, 0x01, 0x51, 0x34, 0x85, 0x00, 0x00, 0x30, 0x85, 0x01, 0x5E, 0x16, 0x84, 0x01, 0x56,
|
||||||
|
0x01, 0x5C, 0x34, 0x85, 0x01, 0x22, 0x01, 0x39, 0x2B, 0x30, 0x00, 0x03, 0x1F, 0x22, 0x2D, 0x00,
|
||||||
|
0x32, 0x85, 0x00, 0x03, 0x51, 0x4F, 0x50, 0x00, 0x15, 0x84, 0x01, 0x50, 0x01, 0x57, 0x33, 0x85,
|
||||||
|
0x00, 0x00, 0x2F, 0x85, 0x01, 0x58, 0x15, 0x84, 0x01, 0x50, 0x01, 0x5E, 0x36, 0x85, 0x01, 0x48,
|
||||||
|
0x2D, 0x22, 0x01, 0x46, 0x35, 0x85, 0x01, 0x51, 0x01, 0x58, 0x16, 0x84, 0x01, 0x52, 0x32, 0x85,
|
||||||
|
0x00, 0x00, 0x2D, 0x85, 0x01, 0x51, 0x01, 0x59, 0x15, 0x84, 0x01, 0x5A, 0x01, 0x51, 0x38, 0x85,
|
||||||
|
0x2D, 0x2D, 0x01, 0x19, 0x37, 0x85, 0x01, 0x57, 0x01, 0x4D, 0x15, 0x84, 0x01, 0x5A, 0x31, 0x85,
|
||||||
|
0x00, 0x00, 0x2C, 0x85, 0x01, 0x57, 0x01, 0x59, 0x14, 0x84, 0x01, 0x59, 0x01, 0x57, 0xA1, 0x85,
|
||||||
|
0x01, 0x52, 0x01, 0x50, 0x14, 0x84, 0x01, 0x58, 0x30, 0x85, 0x00, 0x00, 0x2B, 0x85, 0x01, 0x57,
|
||||||
|
0x01, 0x50, 0x13, 0x84, 0x01, 0x50, 0x01, 0x5E, 0xA4, 0x85, 0x01, 0x51, 0x01, 0x5D, 0x14, 0x84,
|
||||||
|
0x01, 0x59, 0x01, 0x51, 0x2E, 0x85, 0x00, 0x00, 0x2A, 0x85, 0x01, 0x57, 0x01, 0x50, 0x13, 0x84,
|
||||||
|
0x01, 0x4D, 0x01, 0x53, 0xA7, 0x85, 0x01, 0x4E, 0x01, 0x56, 0x13, 0x84, 0x01, 0x59, 0x01, 0x51,
|
||||||
|
0x2D, 0x85, 0x00, 0x00, 0x29, 0x85, 0x01, 0x57, 0x01, 0x50, 0x12, 0x84, 0x01, 0x50, 0x01, 0x5E,
|
||||||
|
0xAA, 0x85, 0x01, 0x51, 0x01, 0x5D, 0x13, 0x84, 0x01, 0x59, 0x01, 0x51, 0x2C, 0x85, 0x00, 0x00,
|
||||||
|
0x28, 0x85, 0x01, 0x57, 0x01, 0x50, 0x12, 0x84, 0x01, 0x59, 0x01, 0x57, 0xAD, 0x85, 0x01, 0x5C,
|
||||||
|
0x01, 0x50, 0x12, 0x84, 0x01, 0x59, 0x01, 0x51, 0x2B, 0x85, 0x00, 0x00, 0x27, 0x85, 0x01, 0x57,
|
||||||
|
0x01, 0x50, 0x12, 0x84, 0x01, 0x5A, 0xB0, 0x85, 0x01, 0x53, 0x01, 0x59, 0x12, 0x84, 0x01, 0x59,
|
||||||
|
0x01, 0x51, 0x2A, 0x85, 0x00, 0x00, 0x26, 0x85, 0x01, 0x57, 0x01, 0x50, 0x11, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x52, 0xB3, 0x85, 0x01, 0x5A, 0x12, 0x84, 0x01, 0x59, 0x01, 0x51, 0x29, 0x85, 0x00, 0x00,
|
||||||
|
0x25, 0x85, 0x01, 0x53, 0x01, 0x50, 0x11, 0x84, 0x01, 0x59, 0x01, 0x57, 0xB5, 0x85, 0x01, 0x52,
|
||||||
|
0x01, 0x50, 0x11, 0x84, 0x01, 0x5D, 0x29, 0x85, 0x00, 0x00, 0x24, 0x85, 0x01, 0x51, 0x01, 0x59,
|
||||||
|
0x11, 0x84, 0x01, 0x4D, 0x01, 0x51, 0xB7, 0x85, 0x01, 0x57, 0x01, 0x50, 0x11, 0x84, 0x01, 0x58,
|
||||||
|
0x28, 0x85, 0x00, 0x00, 0x24, 0x85, 0x01, 0x4D, 0x11, 0x84, 0x01, 0x58, 0xBA, 0x85, 0x01, 0x51,
|
||||||
|
0x01, 0x59, 0x11, 0x84, 0x01, 0x5E, 0x27, 0x85, 0x00, 0x00, 0x23, 0x85, 0x01, 0x58, 0x11, 0x84,
|
||||||
|
0x01, 0x4F, 0xBC, 0x85, 0x01, 0x51, 0x01, 0x59, 0x11, 0x84, 0x01, 0x5C, 0x26, 0x85, 0x00, 0x00,
|
||||||
|
0x22, 0x85, 0x01, 0x52, 0x11, 0x84, 0x01, 0x52, 0xBF, 0x85, 0x01, 0x58, 0x10, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x53, 0x25, 0x85, 0x00, 0x00, 0x21, 0x85, 0x01, 0x57, 0x01, 0x50, 0x10, 0x84, 0x01, 0x52,
|
||||||
|
0xC1, 0x85, 0x01, 0x58, 0x10, 0x84, 0x01, 0x59, 0x01, 0x51, 0x24, 0x85, 0x00, 0x00, 0x20, 0x85,
|
||||||
|
0x01, 0x51, 0x01, 0x59, 0x10, 0x84, 0x01, 0x52, 0xC3, 0x85, 0x01, 0x58, 0x10, 0x84, 0x01, 0x5A,
|
||||||
|
0x24, 0x85, 0x00, 0x00, 0x20, 0x85, 0x01, 0x58, 0x10, 0x84, 0x01, 0x52, 0xC5, 0x85, 0x01, 0x58,
|
||||||
|
0x10, 0x84, 0x01, 0x5C, 0x23, 0x85, 0x00, 0x00, 0x1F, 0x85, 0x01, 0x5C, 0x10, 0x84, 0x01, 0x52,
|
||||||
|
0xC7, 0x85, 0x01, 0x58, 0x0F, 0x84, 0x01, 0x50, 0x01, 0x51, 0x22, 0x85, 0x00, 0x00, 0x1E, 0x85,
|
||||||
|
0x01, 0x51, 0x01, 0x50, 0x0F, 0x84, 0x01, 0x4F, 0xC8, 0x85, 0x01, 0x51, 0x01, 0x59, 0x0F, 0x84,
|
||||||
|
0x01, 0x5D, 0x22, 0x85, 0x00, 0x00, 0x1E, 0x85, 0x01, 0x58, 0x0F, 0x84, 0x01, 0x58, 0xCA, 0x85,
|
||||||
|
0x01, 0x51, 0x01, 0x59, 0x0F, 0x84, 0x01, 0x5C, 0x21, 0x85, 0x00, 0x00, 0x1D, 0x85, 0x01, 0x4E,
|
||||||
|
0x0F, 0x84, 0x01, 0x59, 0xCC, 0x85, 0x01, 0x57, 0x01, 0x50, 0x0E, 0x84, 0x01, 0x56, 0x01, 0x51,
|
||||||
|
0x20, 0x85, 0x00, 0x00, 0x1D, 0x85, 0x01, 0x59, 0x0E, 0x84, 0x01, 0x50, 0x01, 0x51, 0xCD, 0x85,
|
||||||
|
0x01, 0x5C, 0x0F, 0x84, 0x01, 0x4F, 0x20, 0x85, 0x00, 0x00, 0x1C, 0x85, 0x01, 0x52, 0x0F, 0x84,
|
||||||
|
0x01, 0x57, 0xCF, 0x85, 0x01, 0x4F, 0x0F, 0x84, 0x01, 0x53, 0x1F, 0x85, 0x00, 0x00, 0x01, 0x85,
|
||||||
|
0x01, 0x06, 0x3C, 0x4B, 0x01, 0x4A, 0x01, 0x19, 0xAC, 0x85, 0x01, 0x03, 0x01, 0x75, 0x3B, 0x4B,
|
||||||
|
0x00, 0x03, 0x71, 0x15, 0x85, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1E, 0x4B, 0x71, 0x00, 0x3A, 0x0E,
|
||||||
|
0x00, 0x03, 0x6C, 0x4B, 0x00, 0x00, 0xAC, 0x85, 0x01, 0x4A, 0x01, 0x4B, 0x3B, 0x0E, 0x00, 0x03,
|
||||||
|
0x46, 0x4B, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x4B, 0x0E, 0x00, 0x3A, 0x0A, 0x00, 0x03,
|
||||||
|
0x4A, 0x4B, 0x48, 0x00, 0xAC, 0x85, 0x01, 0x4A, 0x01, 0x4B, 0x3B, 0x0A, 0x01, 0x0E, 0x01, 0x4B,
|
||||||
|
0x00, 0x00, 0x00, 0x05, 0x1E, 0x4B, 0x02, 0x30, 0x2A, 0x00, 0x04, 0x4C, 0x01, 0x2E, 0x01, 0x30,
|
||||||
|
0x18, 0x4C, 0x01, 0x2E, 0x01, 0x04, 0x04, 0x4C, 0x01, 0x39, 0x01, 0x04, 0x07, 0x4C, 0x01, 0x2E,
|
||||||
|
0x01, 0x2E, 0x09, 0x4C, 0x00, 0x03, 0x04, 0x7A, 0x75, 0x00, 0xAC, 0x85, 0x00, 0x04, 0x3B, 0x75,
|
||||||
|
0x30, 0x04, 0x05, 0x4C, 0x01, 0x62, 0x01, 0x04, 0x18, 0x4C, 0x01, 0x04, 0x01, 0x2E, 0x04, 0x4C,
|
||||||
|
0x01, 0x2E, 0x01, 0x31, 0x07, 0x4C, 0x01, 0x30, 0x09, 0x4C, 0x00, 0x04, 0x39, 0x30, 0x4B, 0x15,
|
||||||
|
0x00, 0x00, 0x00, 0x05, 0x85, 0x48, 0x7A, 0x30, 0x12, 0x00, 0x04, 0x15, 0x00, 0x03, 0x01, 0x4C,
|
||||||
|
0x01, 0x00, 0x17, 0x15, 0x00, 0x09, 0x01, 0x4C, 0x0A, 0x15, 0x15, 0x15, 0x12, 0x2E, 0x21, 0x00,
|
||||||
|
0x05, 0x15, 0x00, 0x03, 0x21, 0x2E, 0x4C, 0x00, 0x08, 0x15, 0x00, 0x04, 0x0A, 0x62, 0x01, 0x3B,
|
||||||
|
0xAC, 0x85, 0x00, 0x0C, 0x37, 0x4B, 0x04, 0x62, 0x4A, 0x15, 0x15, 0x15, 0x21, 0x78, 0x78, 0x3B,
|
||||||
|
0x16, 0x15, 0x00, 0x03, 0x0D, 0x78, 0x01, 0x00, 0x04, 0x15, 0x01, 0x4C, 0x01, 0x12, 0x06, 0x15,
|
||||||
|
0x00, 0x03, 0x0A, 0x30, 0x0A, 0x00, 0x08, 0x15, 0x00, 0x04, 0x78, 0x04, 0x4B, 0x1E, 0x00, 0x00,
|
||||||
|
0x00, 0x11, 0x85, 0x06, 0x6C, 0x30, 0x31, 0x04, 0x30, 0x30, 0x42, 0x15, 0x15, 0x3D, 0x30, 0x30,
|
||||||
|
0x30, 0x02, 0x3A, 0x00, 0x0E, 0x30, 0x00, 0x21, 0x02, 0x30, 0x30, 0x30, 0x15, 0x15, 0x23, 0x30,
|
||||||
|
0x30, 0x30, 0x4C, 0x02, 0x2A, 0x30, 0x23, 0x30, 0x02, 0x30, 0x2E, 0x2E, 0x78, 0x30, 0x30, 0x30,
|
||||||
|
0x1C, 0x02, 0x30, 0x27, 0x30, 0x4C, 0x30, 0x71, 0x2A, 0x00, 0xAD, 0x85, 0x00, 0x0F, 0x71, 0x4C,
|
||||||
|
0x30, 0x2A, 0x30, 0x30, 0x30, 0x02, 0x15, 0x15, 0x02, 0x30, 0x30, 0x30, 0x02, 0x00, 0x0E, 0x30,
|
||||||
|
0x00, 0x22, 0x02, 0x30, 0x30, 0x30, 0x44, 0x15, 0x15, 0x44, 0x30, 0x30, 0x32, 0x4C, 0x78, 0x30,
|
||||||
|
0x32, 0x44, 0x30, 0x23, 0x30, 0x12, 0x30, 0x12, 0x30, 0x30, 0x30, 0x02, 0x30, 0x32, 0x32, 0x30,
|
||||||
|
0x39, 0x2E, 0x4B, 0x19, 0x00, 0x00, 0x00, 0x40, 0x85, 0x05, 0x4B, 0x2E, 0x30, 0x39, 0x30, 0x30,
|
||||||
|
0x30, 0x32, 0x1F, 0x15, 0x1C, 0x30, 0x32, 0x1C, 0x32, 0x1C, 0x30, 0x04, 0x30, 0x42, 0x1C, 0x30,
|
||||||
|
0x32, 0x30, 0x04, 0x30, 0x1C, 0x1C, 0x30, 0x02, 0x30, 0x32, 0x30, 0x32, 0x44, 0x42, 0x30, 0x30,
|
||||||
|
0x30, 0x4C, 0x04, 0x3F, 0x4C, 0x01, 0x30, 0x4C, 0x4C, 0x78, 0x30, 0x12, 0x30, 0x32, 0x30, 0x32,
|
||||||
|
0x44, 0x30, 0x02, 0x30, 0x31, 0x62, 0x4B, 0x37, 0xAD, 0x85, 0x00, 0x3F, 0x0D, 0x6C, 0x30, 0x39,
|
||||||
|
0x62, 0x30, 0x30, 0x1C, 0x44, 0x15, 0x23, 0x30, 0x1C, 0x42, 0x1C, 0x32, 0x30, 0x1C, 0x1C, 0x30,
|
||||||
|
0x32, 0x30, 0x42, 0x1C, 0x3A, 0x32, 0x30, 0x32, 0x30, 0x32, 0x1C, 0x30, 0x04, 0x3A, 0x02, 0x32,
|
||||||
|
0x1C, 0x30, 0x30, 0x32, 0x4C, 0x2A, 0x4C, 0x78, 0x2E, 0x30, 0x01, 0x4C, 0x7A, 0x62, 0x7A, 0x30,
|
||||||
|
0x32, 0x30, 0x02, 0x30, 0x32, 0x32, 0x30, 0x2A, 0x4C, 0x46, 0x85, 0x00, 0x00, 0x00, 0x00, 0x40,
|
||||||
|
0x85, 0x85, 0x48, 0x78, 0x30, 0x2A, 0x30, 0x30, 0x3A, 0x23, 0x23, 0x32, 0x32, 0x42, 0x42, 0x44,
|
||||||
|
0x3A, 0x32, 0x42, 0x1C, 0x44, 0x3A, 0x44, 0x30, 0x1C, 0x44, 0x42, 0x44, 0x3A, 0x44, 0x3A, 0x1C,
|
||||||
|
0x44, 0x1C, 0x44, 0x30, 0x32, 0x42, 0x30, 0x30, 0x30, 0x4C, 0x2E, 0x21, 0x15, 0x73, 0x23, 0x3D,
|
||||||
|
0x15, 0x0A, 0x30, 0x12, 0x30, 0x02, 0x30, 0x32, 0x32, 0x30, 0x02, 0x30, 0x4C, 0x2E, 0x4B, 0x05,
|
||||||
|
0xAD, 0x85, 0x00, 0x3F, 0x1E, 0x4B, 0x02, 0x62, 0x39, 0x30, 0x30, 0x44, 0x23, 0x27, 0x32, 0x44,
|
||||||
|
0x3A, 0x32, 0x42, 0x42, 0x44, 0x3A, 0x32, 0x42, 0x1C, 0x02, 0x3A, 0x44, 0x30, 0x32, 0x42, 0x1C,
|
||||||
|
0x44, 0x3A, 0x44, 0x1C, 0x32, 0x04, 0x1C, 0x44, 0x30, 0x30, 0x30, 0x32, 0x4C, 0x12, 0x15, 0x15,
|
||||||
|
0x1F, 0x23, 0x15, 0x15, 0x7A, 0x2E, 0x3D, 0x30, 0x02, 0x30, 0x44, 0x30, 0x44, 0x42, 0x62, 0x2E,
|
||||||
|
0x78, 0x01, 0x85, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x85, 0x85, 0x15, 0x71, 0x30, 0x39, 0x62, 0x30,
|
||||||
|
0x30, 0x44, 0x44, 0x30, 0x32, 0x1C, 0x1C, 0x42, 0x30, 0x04, 0x3A, 0x32, 0x1C, 0x30, 0x44, 0x30,
|
||||||
|
0x32, 0x1C, 0x1C, 0x32, 0x30, 0x04, 0x3A, 0x32, 0x1C, 0x1C, 0x32, 0x30, 0x04, 0x3A, 0x42, 0x30,
|
||||||
|
0x30, 0x4C, 0x2E, 0x39, 0x32, 0x23, 0x32, 0x1F, 0x32, 0x7A, 0x30, 0x7A, 0x30, 0x27, 0x30, 0x32,
|
||||||
|
0x3A, 0x42, 0x44, 0x30, 0x31, 0x2A, 0x4B, 0x00, 0xAF, 0x85, 0x00, 0x3E, 0x48, 0x7A, 0x30, 0x2A,
|
||||||
|
0x30, 0x30, 0x3A, 0x27, 0x1C, 0x30, 0x44, 0x30, 0x32, 0x1C, 0x1C, 0x32, 0x30, 0x04, 0x3A, 0x32,
|
||||||
|
0x1C, 0x1C, 0x04, 0x30, 0x32, 0x3A, 0x32, 0x32, 0x30, 0x04, 0x3A, 0x32, 0x1C, 0x32, 0x1C, 0x1C,
|
||||||
|
0x1C, 0x30, 0x1C, 0x4C, 0x12, 0x32, 0x44, 0x44, 0x32, 0x27, 0x32, 0x4C, 0x2E, 0x3D, 0x30, 0x02,
|
||||||
|
0x30, 0x02, 0x30, 0x02, 0x30, 0x2E, 0x02, 0x01, 0x21, 0x85, 0x00, 0x00, 0x00, 0x3F, 0x85, 0x85,
|
||||||
|
0x03, 0x4B, 0x31, 0x62, 0x39, 0x30, 0x2E, 0x30, 0x04, 0x02, 0x42, 0x2E, 0x3A, 0x27, 0x04, 0x1C,
|
||||||
|
0x2E, 0x1C, 0x23, 0x30, 0x02, 0x44, 0x1C, 0x02, 0x3A, 0x23, 0x30, 0x02, 0x04, 0x42, 0x02, 0x3A,
|
||||||
|
0x23, 0x30, 0x02, 0x04, 0x1C, 0x30, 0x30, 0x7A, 0x2E, 0x2E, 0x30, 0x3D, 0x30, 0x3D, 0x30, 0x4C,
|
||||||
|
0x30, 0x78, 0x30, 0x49, 0x30, 0x1F, 0x30, 0x02, 0x04, 0x30, 0x2A, 0x7A, 0x75, 0x00, 0xAF, 0x85,
|
||||||
|
0x00, 0x3E, 0x06, 0x71, 0x30, 0x15, 0x62, 0x30, 0x2E, 0x1C, 0x2E, 0x30, 0x04, 0x02, 0x1C, 0x2E,
|
||||||
|
0x3A, 0x44, 0x32, 0x1C, 0x2E, 0x1C, 0x23, 0x30, 0x02, 0x04, 0x1C, 0x3D, 0x1C, 0x27, 0x30, 0x02,
|
||||||
|
0x04, 0x1C, 0x2E, 0x1C, 0x3D, 0x30, 0x3A, 0x30, 0x30, 0x4C, 0x78, 0x30, 0x02, 0x02, 0x30, 0x3D,
|
||||||
|
0x30, 0x39, 0x02, 0x2E, 0x04, 0x1F, 0x30, 0x39, 0x30, 0x39, 0x30, 0x39, 0x30, 0x4B, 0x15, 0x85,
|
||||||
|
0x00, 0x00, 0x00, 0x3F, 0x85, 0x85, 0x85, 0x75, 0x3F, 0x30, 0x49, 0x04, 0x31, 0x2E, 0x04, 0x2E,
|
||||||
|
0x31, 0x73, 0x04, 0x02, 0x02, 0x04, 0x73, 0x04, 0x23, 0x31, 0x3D, 0x02, 0x04, 0x23, 0x04, 0x23,
|
||||||
|
0x02, 0x02, 0x23, 0x31, 0x3B, 0x04, 0x23, 0x04, 0x02, 0x02, 0x04, 0x04, 0x04, 0x12, 0x2E, 0x3D,
|
||||||
|
0x04, 0x39, 0x04, 0x39, 0x04, 0x7A, 0x30, 0x04, 0x30, 0x31, 0x30, 0x02, 0x30, 0x62, 0x04, 0x62,
|
||||||
|
0x62, 0x01, 0x3B, 0x00, 0xAF, 0x85, 0x00, 0x23, 0x05, 0x4B, 0x31, 0x02, 0x2A, 0x04, 0x49, 0x30,
|
||||||
|
0x02, 0x31, 0x02, 0x23, 0x04, 0x23, 0x04, 0x02, 0x02, 0x04, 0x73, 0x39, 0x39, 0x04, 0x02, 0x02,
|
||||||
|
0x04, 0x73, 0x04, 0x23, 0x04, 0x4C, 0x3D, 0x04, 0x73, 0x04, 0x23, 0x00, 0x04, 0x04, 0x00, 0x17,
|
||||||
|
0x4C, 0x3B, 0x04, 0x31, 0x27, 0x27, 0x31, 0x04, 0x4C, 0x30, 0x04, 0x04, 0x02, 0x30, 0x02, 0x30,
|
||||||
|
0x02, 0x30, 0x62, 0x04, 0x4B, 0x1E, 0x85, 0x00, 0x00, 0x00, 0x00, 0x32, 0x85, 0x85, 0x85, 0x28,
|
||||||
|
0x4B, 0x2E, 0x7A, 0x30, 0x04, 0x2A, 0x2E, 0x2E, 0x2A, 0x30, 0x47, 0x30, 0x23, 0x2E, 0x30, 0x78,
|
||||||
|
0x30, 0x4C, 0x7A, 0x30, 0x4C, 0x04, 0x30, 0x4C, 0x30, 0x4C, 0x30, 0x2A, 0x4C, 0x30, 0x4C, 0x42,
|
||||||
|
0x04, 0x2E, 0x30, 0x39, 0x30, 0x2A, 0x7A, 0x23, 0x30, 0x4C, 0x30, 0x4C, 0x30, 0x3F, 0x0B, 0x2E,
|
||||||
|
0x01, 0x71, 0x01, 0x00, 0xB0, 0x85, 0x00, 0x2F, 0x75, 0x3F, 0x2E, 0x4C, 0x30, 0x2A, 0x2E, 0x2E,
|
||||||
|
0x4C, 0x62, 0x30, 0x7A, 0x30, 0x2A, 0x30, 0x23, 0x2E, 0x30, 0x6C, 0x2A, 0x30, 0x7A, 0x30, 0x4C,
|
||||||
|
0x30, 0x2E, 0x2E, 0x30, 0x2A, 0x39, 0x30, 0x4C, 0x30, 0x4C, 0x30, 0x2E, 0x2E, 0x30, 0x7A, 0x3F,
|
||||||
|
0x30, 0x4C, 0x62, 0x2E, 0x31, 0x3A, 0x7A, 0x00, 0x0A, 0x2E, 0x00, 0x04, 0x2A, 0x4B, 0x19, 0x85,
|
||||||
|
0x00, 0x00, 0x00, 0x05, 0x85, 0x85, 0x85, 0x19, 0x0D, 0x00, 0x38, 0x4B, 0x01, 0x0D, 0x01, 0x19,
|
||||||
|
0xB0, 0x85, 0x01, 0x05, 0x01, 0x48, 0x37, 0x4B, 0x00, 0x04, 0x46, 0x0C, 0x85, 0x85, 0x00, 0x00,
|
||||||
|
0x06, 0x85, 0x00, 0x2C, 0x03, 0x00, 0x00, 0x19, 0x85, 0x19, 0x49, 0x0D, 0x49, 0x0D, 0x06, 0x49,
|
||||||
|
0x0D, 0x00, 0x4B, 0x7A, 0x2A, 0x78, 0x47, 0x7A, 0x78, 0x47, 0x78, 0x47, 0x78, 0x7A, 0x39, 0x78,
|
||||||
|
0x47, 0x78, 0x7A, 0x7A, 0x78, 0x47, 0x78, 0x49, 0x18, 0x0A, 0x0D, 0x49, 0x0D, 0x49, 0x0D, 0x28,
|
||||||
|
0x06, 0x36, 0x01, 0x05, 0xB9, 0x85, 0x00, 0x2C, 0x23, 0x00, 0x15, 0x05, 0x03, 0x05, 0x15, 0x49,
|
||||||
|
0x0C, 0x06, 0x15, 0x06, 0x00, 0x0A, 0x48, 0x3D, 0x47, 0x78, 0x47, 0x78, 0x47, 0x78, 0x7A, 0x7A,
|
||||||
|
0x78, 0x39, 0x47, 0x78, 0x47, 0x78, 0x47, 0x78, 0x7A, 0x7A, 0x78, 0x7A, 0x46, 0x49, 0x00, 0x00,
|
||||||
|
0x49, 0x15, 0x06, 0x36, 0x0B, 0x03, 0x00, 0x03, 0x19, 0x85, 0x85, 0x00, 0x00, 0x00, 0x09, 0x85,
|
||||||
|
0x00, 0x03, 0x15, 0x21, 0x21, 0x00, 0x08, 0x3B, 0x01, 0x45, 0x15, 0x4A, 0x01, 0x4B, 0x01, 0x0E,
|
||||||
|
0x09, 0x3B, 0x00, 0x05, 0x12, 0x28, 0x36, 0x36, 0x35, 0x00, 0xBA, 0x85, 0x01, 0x03, 0x01, 0x0D,
|
||||||
|
0x09, 0x21, 0x01, 0x75, 0x01, 0x18, 0x15, 0x4A, 0x01, 0x45, 0x01, 0x3B, 0x09, 0x21, 0x01, 0x28,
|
||||||
|
0x0A, 0x85, 0x00, 0x00, 0x08, 0x85, 0x01, 0x0A, 0x01, 0x22, 0x2B, 0x18, 0x00, 0x05, 0x45, 0x45,
|
||||||
|
0x2D, 0x36, 0x19, 0x00, 0x1E, 0x85, 0x00, 0x04, 0x57, 0x4E, 0x4E, 0x4E, 0x80, 0x85, 0x01, 0x51,
|
||||||
|
0x04, 0x4E, 0x12, 0x85, 0x00, 0x03, 0x03, 0x45, 0x45, 0x00, 0x2A, 0x18, 0x00, 0x03, 0x38, 0x22,
|
||||||
|
0x20, 0x00, 0x09, 0x85, 0x00, 0x00, 0x08, 0x85, 0x01, 0x22, 0x01, 0x2A, 0x2B, 0x30, 0x00, 0x05,
|
||||||
|
0x42, 0x22, 0x00, 0x36, 0x03, 0x00, 0x0D, 0x85, 0x01, 0x57, 0x04, 0x4D, 0x01, 0x52, 0x09, 0x85,
|
||||||
|
0x01, 0x5C, 0x01, 0x56, 0x04, 0x84, 0x00, 0x03, 0x50, 0x4F, 0x51, 0x00, 0x06, 0x85, 0x04, 0x4D,
|
||||||
|
0x01, 0x5D, 0x05, 0x85, 0x01, 0x51, 0x05, 0x4D, 0x01, 0x4F, 0x01, 0x85, 0x0D, 0x4D, 0x00, 0x06,
|
||||||
|
0x85, 0x85, 0x5E, 0x4D, 0x4D, 0x4D, 0x09, 0x85, 0x00, 0x03, 0x5E, 0x4D, 0x4D, 0x00, 0x13, 0x85,
|
||||||
|
0x01, 0x5A, 0x04, 0x4D, 0x00, 0x05, 0x51, 0x85, 0x85, 0x85, 0x4E, 0x00, 0x04, 0x4D, 0x00, 0x04,
|
||||||
|
0x52, 0x85, 0x85, 0x57, 0x04, 0x4D, 0x00, 0x09, 0x4F, 0x85, 0x85, 0x85, 0x57, 0x4D, 0x4D, 0x4D,
|
||||||
|
0x4E, 0x00, 0x08, 0x85, 0x00, 0x04, 0x51, 0x4D, 0x4D, 0x52, 0x06, 0x85, 0x01, 0x53, 0x01, 0x58,
|
||||||
|
0x05, 0x84, 0x01, 0x50, 0x01, 0x4F, 0x10, 0x85, 0x01, 0x2D, 0x01, 0x22, 0x2C, 0x30, 0x00, 0x04,
|
||||||
|
0x12, 0x71, 0x36, 0x19, 0x07, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x00, 0x00,
|
||||||
|
0x29, 0x2F, 0x00, 0x06, 0x34, 0x30, 0x22, 0x15, 0x36, 0x05, 0x0D, 0x85, 0x01, 0x51, 0x04, 0x84,
|
||||||
|
0x01, 0x4D, 0x08, 0x85, 0x01, 0x52, 0x08, 0x84, 0x01, 0x59, 0x01, 0x53, 0x05, 0x85, 0x01, 0x4D,
|
||||||
|
0x04, 0x84, 0x05, 0x85, 0x01, 0x52, 0x05, 0x84, 0x01, 0x5C, 0x01, 0x85, 0x0D, 0x84, 0x00, 0x06,
|
||||||
|
0x4E, 0x85, 0x4F, 0x84, 0x84, 0x84, 0x08, 0x85, 0x00, 0x04, 0x51, 0x50, 0x84, 0x84, 0x13, 0x85,
|
||||||
|
0x01, 0x4D, 0x04, 0x84, 0x04, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x04, 0x4E, 0x85, 0x85, 0x4E,
|
||||||
|
0x04, 0x84, 0x00, 0x09, 0x4F, 0x85, 0x85, 0x85, 0x4E, 0x84, 0x84, 0x84, 0x4E, 0x00, 0x08, 0x85,
|
||||||
|
0x00, 0x04, 0x5D, 0x84, 0x84, 0x4E, 0x05, 0x85, 0x01, 0x52, 0x09, 0x84, 0x01, 0x58, 0x0F, 0x85,
|
||||||
|
0x00, 0x04, 0x2D, 0x22, 0x30, 0x7E, 0x29, 0x5B, 0x00, 0x05, 0x27, 0x12, 0x71, 0x36, 0x03, 0x00,
|
||||||
|
0x07, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x29, 0x80, 0x00, 0x07,
|
||||||
|
0x2F, 0x30, 0x22, 0x00, 0x36, 0x36, 0x35, 0x00, 0x0D, 0x85, 0x00, 0x05, 0x56, 0x84, 0x84, 0x84,
|
||||||
|
0x50, 0x00, 0x07, 0x85, 0x01, 0x51, 0x01, 0x50, 0x09, 0x84, 0x01, 0x50, 0x01, 0x51, 0x04, 0x85,
|
||||||
|
0x01, 0x4D, 0x04, 0x84, 0x01, 0x51, 0x04, 0x85, 0x01, 0x56, 0x04, 0x84, 0x00, 0x04, 0x56, 0x85,
|
||||||
|
0x85, 0x59, 0x0C, 0x84, 0x00, 0x06, 0x4E, 0x85, 0x4F, 0x84, 0x84, 0x84, 0x08, 0x85, 0x00, 0x04,
|
||||||
|
0x4F, 0x84, 0x84, 0x84, 0x13, 0x85, 0x01, 0x59, 0x04, 0x84, 0x04, 0x85, 0x01, 0x5A, 0x04, 0x84,
|
||||||
|
0x00, 0x04, 0x4E, 0x85, 0x85, 0x5E, 0x04, 0x84, 0x00, 0x08, 0x52, 0x85, 0x85, 0x85, 0x4F, 0x84,
|
||||||
|
0x84, 0x84, 0x08, 0x85, 0x00, 0x05, 0x52, 0x84, 0x84, 0x84, 0x51, 0x00, 0x04, 0x85, 0x01, 0x5A,
|
||||||
|
0x0B, 0x84, 0x01, 0x52, 0x0E, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x29, 0x82, 0x00, 0x05,
|
||||||
|
0x1F, 0x12, 0x71, 0x36, 0x05, 0x00, 0x07, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x33, 0x00, 0x29, 0x80, 0x00, 0x07, 0x2F, 0x30, 0x22, 0x00, 0x36, 0x36, 0x19, 0x00, 0x0D, 0x85,
|
||||||
|
0x01, 0x5D, 0x04, 0x84, 0x01, 0x53, 0x06, 0x85, 0x01, 0x4F, 0x0B, 0x84, 0x01, 0x59, 0x04, 0x85,
|
||||||
|
0x01, 0x4F, 0x04, 0x84, 0x00, 0x05, 0x4E, 0x85, 0x85, 0x85, 0x4E, 0x00, 0x05, 0x84, 0x00, 0x04,
|
||||||
|
0x52, 0x85, 0x85, 0x4D, 0x0C, 0x84, 0x00, 0x06, 0x4E, 0x85, 0x4F, 0x84, 0x84, 0x84, 0x07, 0x85,
|
||||||
|
0x00, 0x05, 0x51, 0x50, 0x84, 0x84, 0x84, 0x00, 0x13, 0x85, 0x04, 0x84, 0x01, 0x4D, 0x04, 0x85,
|
||||||
|
0x01, 0x4D, 0x04, 0x84, 0x00, 0x04, 0x85, 0x85, 0x85, 0x4F, 0x04, 0x84, 0x00, 0x08, 0x4E, 0x85,
|
||||||
|
0x85, 0x85, 0x58, 0x84, 0x84, 0x56, 0x07, 0x85, 0x00, 0x05, 0x53, 0x50, 0x84, 0x84, 0x56, 0x00,
|
||||||
|
0x04, 0x85, 0x01, 0x52, 0x0C, 0x84, 0x01, 0x59, 0x0E, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x29, 0x82, 0x00, 0x05, 0x1F, 0x12, 0x71, 0x36, 0x05, 0x00, 0x07, 0x85, 0x00, 0x00, 0x08, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x0C, 0x80, 0x00, 0x05, 0x69, 0x16, 0x16, 0x16, 0x69, 0x00,
|
||||||
|
0x07, 0x80, 0x00, 0x05, 0x24, 0x16, 0x16, 0x16, 0x24, 0x00, 0x0C, 0x80, 0x00, 0x07, 0x2F, 0x30,
|
||||||
|
0x22, 0x15, 0x36, 0x36, 0x03, 0x00, 0x0D, 0x85, 0x01, 0x5E, 0x04, 0x84, 0x01, 0x52, 0x06, 0x85,
|
||||||
|
0x00, 0x09, 0x56, 0x84, 0x84, 0x84, 0x50, 0x52, 0x57, 0x5C, 0x59, 0x00, 0x04, 0x84, 0x00, 0x05,
|
||||||
|
0x4F, 0x85, 0x85, 0x85, 0x4F, 0x00, 0x04, 0x84, 0x00, 0x05, 0x4E, 0x85, 0x85, 0x85, 0x5D, 0x00,
|
||||||
|
0x04, 0x84, 0x00, 0x05, 0x50, 0x85, 0x85, 0x85, 0x4D, 0x00, 0x04, 0x84, 0x08, 0x4D, 0x00, 0x06,
|
||||||
|
0x57, 0x85, 0x4F, 0x84, 0x84, 0x84, 0x07, 0x85, 0x00, 0x05, 0x4F, 0x84, 0x84, 0x84, 0x4D, 0x00,
|
||||||
|
0x13, 0x85, 0x04, 0x84, 0x01, 0x4D, 0x04, 0x85, 0x00, 0x09, 0x56, 0x84, 0x84, 0x84, 0x56, 0x85,
|
||||||
|
0x85, 0x85, 0x4D, 0x00, 0x04, 0x84, 0x00, 0x08, 0x51, 0x85, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x4D,
|
||||||
|
0x07, 0x85, 0x00, 0x09, 0x4D, 0x84, 0x84, 0x84, 0x58, 0x85, 0x85, 0x85, 0x57, 0x00, 0x05, 0x84,
|
||||||
|
0x00, 0x04, 0x50, 0x5D, 0x58, 0x50, 0x05, 0x84, 0x0E, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x11, 0x82, 0x00, 0x09, 0x64, 0x2C, 0x1D, 0x60, 0x60, 0x60, 0x1D, 0x2C, 0x64, 0x00, 0x0F, 0x82,
|
||||||
|
0x00, 0x05, 0x1F, 0x12, 0x71, 0x36, 0x36, 0x00, 0x07, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x33, 0x00, 0x0D, 0x80, 0x00, 0x04, 0x63, 0x85, 0x85, 0x26, 0x07, 0x80, 0x00, 0x05,
|
||||||
|
0x6A, 0x85, 0x85, 0x85, 0x16, 0x00, 0x0C, 0x80, 0x00, 0x07, 0x2F, 0x30, 0x22, 0x00, 0x36, 0x36,
|
||||||
|
0x05, 0x00, 0x0D, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x5A, 0x05, 0x85, 0x01, 0x53, 0x04, 0x84,
|
||||||
|
0x00, 0x0E, 0x52, 0x85, 0x85, 0x85, 0x51, 0x56, 0x84, 0x84, 0x84, 0x50, 0x51, 0x85, 0x85, 0x4E,
|
||||||
|
0x04, 0x84, 0x00, 0x04, 0x4F, 0x85, 0x85, 0x53, 0x05, 0x84, 0x00, 0x05, 0x4F, 0x85, 0x85, 0x85,
|
||||||
|
0x5D, 0x00, 0x04, 0x84, 0x0A, 0x85, 0x00, 0x04, 0x4F, 0x84, 0x84, 0x84, 0x06, 0x85, 0x00, 0x06,
|
||||||
|
0x51, 0x50, 0x84, 0x84, 0x84, 0x4D, 0x12, 0x85, 0x01, 0x51, 0x04, 0x84, 0x00, 0x05, 0x5D, 0x85,
|
||||||
|
0x85, 0x85, 0x51, 0x00, 0x04, 0x84, 0x00, 0x05, 0x5D, 0x85, 0x85, 0x85, 0x4D, 0x00, 0x04, 0x84,
|
||||||
|
0x04, 0x85, 0x00, 0x04, 0x84, 0x84, 0x84, 0x4F, 0x06, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x05,
|
||||||
|
0x5E, 0x85, 0x85, 0x85, 0x4D, 0x00, 0x04, 0x84, 0x00, 0x06, 0x59, 0x51, 0x85, 0x85, 0x51, 0x59,
|
||||||
|
0x04, 0x84, 0x0E, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x10, 0x82, 0x01, 0x14, 0x01, 0x67,
|
||||||
|
0x07, 0x85, 0x01, 0x14, 0x0F, 0x82, 0x00, 0x06, 0x1F, 0x12, 0x71, 0x36, 0x36, 0x19, 0x06, 0x85,
|
||||||
|
0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x0D, 0x80, 0x00, 0x04, 0x26, 0x85,
|
||||||
|
0x85, 0x6A, 0x06, 0x80, 0x01, 0x69, 0x04, 0x85, 0x01, 0x69, 0x0C, 0x80, 0x00, 0x08, 0x2F, 0x30,
|
||||||
|
0x22, 0x00, 0x36, 0x36, 0x36, 0x35, 0x0D, 0x85, 0x04, 0x84, 0x01, 0x4D, 0x05, 0x85, 0x01, 0x4E,
|
||||||
|
0x04, 0x84, 0x01, 0x4E, 0x04, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x04, 0x5E, 0x85, 0x85, 0x4E,
|
||||||
|
0x04, 0x84, 0x00, 0x04, 0x4F, 0x85, 0x85, 0x5A, 0x05, 0x84, 0x00, 0x05, 0x51, 0x85, 0x85, 0x85,
|
||||||
|
0x4F, 0x00, 0x04, 0x84, 0x01, 0x4E, 0x09, 0x85, 0x00, 0x04, 0x4F, 0x84, 0x84, 0x84, 0x06, 0x85,
|
||||||
|
0x01, 0x58, 0x04, 0x84, 0x01, 0x4D, 0x12, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x05, 0x4F, 0x85,
|
||||||
|
0x85, 0x85, 0x4E, 0x00, 0x04, 0x84, 0x00, 0x04, 0x4F, 0x85, 0x85, 0x85, 0x04, 0x84, 0x00, 0x09,
|
||||||
|
0x4D, 0x85, 0x85, 0x85, 0x53, 0x84, 0x84, 0x84, 0x52, 0x00, 0x05, 0x85, 0x01, 0x57, 0x05, 0x84,
|
||||||
|
0x00, 0x04, 0x4E, 0x85, 0x85, 0x4E, 0x04, 0x84, 0x01, 0x59, 0x01, 0x51, 0x04, 0x85, 0x00, 0x05,
|
||||||
|
0x5E, 0x84, 0x84, 0x84, 0x5D, 0x00, 0x0E, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0F, 0x82,
|
||||||
|
0x01, 0x1D, 0x09, 0x85, 0x01, 0x14, 0x0F, 0x82, 0x00, 0x06, 0x1F, 0x12, 0x71, 0x36, 0x36, 0x03,
|
||||||
|
0x06, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x0D, 0x80, 0x00, 0x05,
|
||||||
|
0x24, 0x85, 0x85, 0x85, 0x09, 0x00, 0x05, 0x80, 0x00, 0x05, 0x16, 0x85, 0x85, 0x85, 0x6E, 0x00,
|
||||||
|
0x0D, 0x80, 0x00, 0x08, 0x2F, 0x30, 0x22, 0x15, 0x36, 0x36, 0x36, 0x19, 0x0D, 0x85, 0x01, 0x4D,
|
||||||
|
0x04, 0x84, 0x05, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x57, 0x05, 0x85, 0x00, 0x08, 0x56, 0x84,
|
||||||
|
0x84, 0x84, 0x56, 0x85, 0x85, 0x85, 0x04, 0x84, 0x00, 0x04, 0x5D, 0x85, 0x51, 0x50, 0x04, 0x84,
|
||||||
|
0x01, 0x58, 0x04, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x01, 0x4E, 0x09, 0x85, 0x00, 0x04, 0x4F, 0x84,
|
||||||
|
0x84, 0x84, 0x05, 0x85, 0x01, 0x53, 0x05, 0x84, 0x01, 0x4D, 0x12, 0x85, 0x01, 0x4E, 0x04, 0x84,
|
||||||
|
0x00, 0x05, 0x4F, 0x85, 0x85, 0x85, 0x4F, 0x00, 0x04, 0x84, 0x00, 0x04, 0x4E, 0x85, 0x85, 0x51,
|
||||||
|
0x04, 0x84, 0x00, 0x09, 0x5D, 0x85, 0x85, 0x85, 0x4E, 0x84, 0x84, 0x84, 0x4E, 0x00, 0x05, 0x85,
|
||||||
|
0x01, 0x59, 0x05, 0x84, 0x00, 0x04, 0x85, 0x85, 0x85, 0x4D, 0x04, 0x84, 0x01, 0x57, 0x05, 0x85,
|
||||||
|
0x00, 0x05, 0x58, 0x84, 0x84, 0x84, 0x5E, 0x00, 0x0E, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x0E, 0x82, 0x01, 0x14, 0x04, 0x85, 0x00, 0x07, 0x6D, 0x2C, 0x11, 0x11, 0x14, 0x70, 0x14, 0x00,
|
||||||
|
0x0F, 0x82, 0x00, 0x06, 0x1F, 0x12, 0x71, 0x36, 0x36, 0x03, 0x06, 0x85, 0x00, 0x00, 0x08, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x0E, 0x80, 0x00, 0x04, 0x63, 0x85, 0x85, 0x26, 0x05, 0x09,
|
||||||
|
0x00, 0x05, 0x6E, 0x85, 0x85, 0x85, 0x16, 0x00, 0x0D, 0x80, 0x00, 0x08, 0x2F, 0x30, 0x22, 0x00,
|
||||||
|
0x36, 0x36, 0x36, 0x03, 0x0D, 0x85, 0x01, 0x5A, 0x04, 0x84, 0x01, 0x57, 0x04, 0x85, 0x01, 0x4E,
|
||||||
|
0x04, 0x84, 0x01, 0x4E, 0x05, 0x85, 0x01, 0x5A, 0x04, 0x84, 0x00, 0x03, 0x57, 0x85, 0x85, 0x00,
|
||||||
|
0x04, 0x84, 0x00, 0x03, 0x4D, 0x85, 0x52, 0x00, 0x05, 0x84, 0x01, 0x53, 0x04, 0x85, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x01, 0x4E, 0x09, 0x85, 0x00, 0x04, 0x4F, 0x84, 0x84, 0x84, 0x05, 0x85, 0x01, 0x58,
|
||||||
|
0x05, 0x84, 0x01, 0x4D, 0x12, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x05, 0x52, 0x85, 0x85, 0x85,
|
||||||
|
0x5D, 0x00, 0x04, 0x84, 0x00, 0x04, 0x85, 0x85, 0x85, 0x4E, 0x04, 0x84, 0x00, 0x08, 0x4F, 0x85,
|
||||||
|
0x85, 0x85, 0x5E, 0x84, 0x84, 0x84, 0x05, 0x85, 0x01, 0x5A, 0x05, 0x84, 0x00, 0x04, 0x59, 0x85,
|
||||||
|
0x85, 0x57, 0x04, 0x84, 0x01, 0x58, 0x06, 0x85, 0x00, 0x05, 0x56, 0x84, 0x84, 0x84, 0x57, 0x00,
|
||||||
|
0x0E, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x07, 0x64, 0x67, 0x85, 0x85,
|
||||||
|
0x85, 0x74, 0x64, 0x00, 0x15, 0x82, 0x00, 0x06, 0x1F, 0x12, 0x71, 0x36, 0x36, 0x05, 0x06, 0x85,
|
||||||
|
0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x0E, 0x80, 0x01, 0x26, 0x0C, 0x85,
|
||||||
|
0x01, 0x69, 0x0D, 0x80, 0x00, 0x08, 0x2F, 0x30, 0x22, 0x00, 0x36, 0x36, 0x36, 0x05, 0x0D, 0x85,
|
||||||
|
0x01, 0x52, 0x04, 0x84, 0x01, 0x52, 0x04, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x4E, 0x05, 0x85,
|
||||||
|
0x01, 0x4E, 0x04, 0x84, 0x00, 0x0A, 0x4F, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x84, 0x56, 0x85, 0x56,
|
||||||
|
0x04, 0x84, 0x01, 0x5D, 0x05, 0x85, 0x01, 0x52, 0x04, 0x84, 0x01, 0x4E, 0x09, 0x85, 0x00, 0x04,
|
||||||
|
0x4F, 0x84, 0x84, 0x84, 0x04, 0x85, 0x01, 0x53, 0x06, 0x84, 0x01, 0x4D, 0x12, 0x85, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x00, 0x0D, 0x4E, 0x85, 0x85, 0x85, 0x50, 0x84, 0x84, 0x84, 0x5D, 0x85, 0x85, 0x85,
|
||||||
|
0x5C, 0x00, 0x04, 0x84, 0x00, 0x08, 0x52, 0x85, 0x85, 0x85, 0x5A, 0x84, 0x84, 0x56, 0x04, 0x85,
|
||||||
|
0x01, 0x4E, 0x06, 0x84, 0x00, 0x04, 0x58, 0x85, 0x85, 0x58, 0x04, 0x84, 0x01, 0x4E, 0x05, 0x85,
|
||||||
|
0x00, 0x05, 0x53, 0x84, 0x84, 0x84, 0x50, 0x00, 0x0F, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x0D, 0x82, 0x01, 0x2C, 0x04, 0x85, 0x01, 0x11, 0x16, 0x82, 0x00, 0x06, 0x1F, 0x12, 0x71, 0x36,
|
||||||
|
0x36, 0x36, 0x06, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x0E, 0x80,
|
||||||
|
0x01, 0x24, 0x0B, 0x85, 0x01, 0x6E, 0x0E, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x15, 0x04, 0x36,
|
||||||
|
0x01, 0x35, 0x0C, 0x85, 0x01, 0x53, 0x04, 0x84, 0x01, 0x5A, 0x04, 0x85, 0x01, 0x4E, 0x04, 0x84,
|
||||||
|
0x01, 0x52, 0x06, 0x85, 0x04, 0x84, 0x00, 0x04, 0x4D, 0x85, 0x85, 0x4D, 0x04, 0x84, 0x01, 0x58,
|
||||||
|
0x05, 0x84, 0x01, 0x4E, 0x05, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x52, 0x09, 0x85, 0x00, 0x04,
|
||||||
|
0x4F, 0x84, 0x84, 0x84, 0x04, 0x85, 0x01, 0x58, 0x06, 0x84, 0x01, 0x4D, 0x12, 0x85, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x00, 0x04, 0x4E, 0x85, 0x85, 0x5C, 0x04, 0x84, 0x00, 0x05, 0x52, 0x85, 0x85, 0x85,
|
||||||
|
0x4F, 0x00, 0x04, 0x84, 0x00, 0x0D, 0x4E, 0x85, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x4D, 0x85, 0x85,
|
||||||
|
0x85, 0x51, 0x56, 0x00, 0x06, 0x84, 0x00, 0x08, 0x5E, 0x85, 0x85, 0x50, 0x84, 0x84, 0x84, 0x56,
|
||||||
|
0x06, 0x85, 0x00, 0x05, 0x52, 0x84, 0x84, 0x84, 0x5D, 0x00, 0x0F, 0x85, 0x00, 0x04, 0x2D, 0x22,
|
||||||
|
0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05, 0x1D, 0x85, 0x85, 0x85, 0x6D, 0x00, 0x17, 0x82, 0x00, 0x07,
|
||||||
|
0x1F, 0x12, 0x71, 0x36, 0x36, 0x36, 0x35, 0x00, 0x05, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x33, 0x00, 0x0F, 0x80, 0x00, 0x0C, 0x63, 0x85, 0x85, 0x61, 0x16, 0x16, 0x16, 0x63,
|
||||||
|
0x85, 0x85, 0x85, 0x16, 0x0E, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x00, 0x04, 0x36, 0x01, 0x19,
|
||||||
|
0x0D, 0x85, 0x00, 0x05, 0x50, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x04, 0x85, 0x01, 0x4E, 0x04, 0x84,
|
||||||
|
0x01, 0x4F, 0x06, 0x85, 0x00, 0x08, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x85, 0x85, 0x4F, 0x09, 0x84,
|
||||||
|
0x01, 0x4D, 0x06, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x4F, 0x09, 0x85, 0x00, 0x08, 0x4E, 0x84,
|
||||||
|
0x84, 0x84, 0x85, 0x85, 0x85, 0x57, 0x07, 0x84, 0x00, 0x04, 0x4D, 0x85, 0x85, 0x52, 0x0C, 0x4D,
|
||||||
|
0x00, 0x04, 0x5C, 0x85, 0x85, 0x4F, 0x04, 0x84, 0x00, 0x04, 0x85, 0x85, 0x85, 0x4D, 0x04, 0x84,
|
||||||
|
0x00, 0x05, 0x51, 0x85, 0x85, 0x85, 0x58, 0x00, 0x04, 0x84, 0x00, 0x0C, 0x51, 0x85, 0x85, 0x85,
|
||||||
|
0x50, 0x84, 0x84, 0x4F, 0x85, 0x85, 0x85, 0x5D, 0x07, 0x84, 0x00, 0x03, 0x4E, 0x85, 0x57, 0x00,
|
||||||
|
0x04, 0x84, 0x01, 0x5A, 0x06, 0x85, 0x00, 0x05, 0x58, 0x84, 0x84, 0x84, 0x5E, 0x00, 0x0F, 0x85,
|
||||||
|
0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05, 0x60, 0x85, 0x85, 0x85, 0x70, 0x00,
|
||||||
|
0x17, 0x82, 0x00, 0x07, 0x1F, 0x12, 0x71, 0x36, 0x36, 0x36, 0x19, 0x00, 0x05, 0x85, 0x00, 0x00,
|
||||||
|
0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x0F, 0x80, 0x00, 0x07, 0x26, 0x85, 0x85, 0x77,
|
||||||
|
0x80, 0x80, 0x69, 0x00, 0x04, 0x85, 0x01, 0x69, 0x0E, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x00,
|
||||||
|
0x04, 0x36, 0x01, 0x05, 0x0D, 0x85, 0x01, 0x4D, 0x04, 0x84, 0x05, 0x85, 0x04, 0x84, 0x01, 0x58,
|
||||||
|
0x06, 0x85, 0x01, 0x5A, 0x04, 0x84, 0x00, 0x03, 0x53, 0x85, 0x4F, 0x00, 0x09, 0x84, 0x01, 0x52,
|
||||||
|
0x06, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x4F, 0x09, 0x85, 0x00, 0x08, 0x4E, 0x84, 0x84, 0x84,
|
||||||
|
0x85, 0x85, 0x85, 0x4D, 0x07, 0x84, 0x00, 0x04, 0x4D, 0x85, 0x85, 0x5A, 0x0C, 0x84, 0x00, 0x04,
|
||||||
|
0x4E, 0x85, 0x85, 0x4D, 0x04, 0x84, 0x00, 0x03, 0x85, 0x85, 0x5C, 0x00, 0x04, 0x84, 0x01, 0x58,
|
||||||
|
0x04, 0x85, 0x00, 0x05, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x00, 0x04, 0x85, 0x00, 0x07, 0x84, 0x84,
|
||||||
|
0x84, 0x52, 0x85, 0x85, 0x5C, 0x00, 0x08, 0x84, 0x00, 0x03, 0x85, 0x85, 0x4F, 0x00, 0x04, 0x84,
|
||||||
|
0x00, 0x0C, 0x4E, 0x85, 0x85, 0x85, 0x5E, 0x4F, 0x4F, 0x56, 0x84, 0x84, 0x84, 0x57, 0x0F, 0x85,
|
||||||
|
0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05, 0x60, 0x85, 0x85, 0x85, 0x14, 0x00,
|
||||||
|
0x17, 0x82, 0x00, 0x07, 0x1F, 0x12, 0x71, 0x36, 0x36, 0x36, 0x03, 0x00, 0x05, 0x85, 0x00, 0x00,
|
||||||
|
0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x0F, 0x80, 0x00, 0x0B, 0x24, 0x85, 0x85, 0x85,
|
||||||
|
0x69, 0x80, 0x16, 0x85, 0x85, 0x85, 0x77, 0x00, 0x0F, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x15,
|
||||||
|
0x05, 0x36, 0x0D, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x01, 0x57, 0x04, 0x85, 0x00, 0x05, 0x50, 0x84,
|
||||||
|
0x84, 0x84, 0x4D, 0x00, 0x06, 0x85, 0x01, 0x52, 0x04, 0x84, 0x00, 0x03, 0x4E, 0x85, 0x4E, 0x00,
|
||||||
|
0x08, 0x84, 0x01, 0x56, 0x08, 0x85, 0x08, 0x84, 0x00, 0x0D, 0x59, 0x4D, 0x57, 0x85, 0x85, 0x85,
|
||||||
|
0x4E, 0x84, 0x84, 0x84, 0x85, 0x85, 0x4E, 0x00, 0x05, 0x84, 0x00, 0x07, 0x56, 0x84, 0x84, 0x4D,
|
||||||
|
0x85, 0x85, 0x4D, 0x00, 0x0C, 0x84, 0x00, 0x04, 0x4E, 0x85, 0x85, 0x4D, 0x04, 0x84, 0x00, 0x08,
|
||||||
|
0x4E, 0x5E, 0x50, 0x84, 0x84, 0x84, 0x50, 0x53, 0x04, 0x85, 0x00, 0x10, 0x56, 0x84, 0x84, 0x84,
|
||||||
|
0x4D, 0x85, 0x85, 0x85, 0x4E, 0x84, 0x84, 0x84, 0x4E, 0x85, 0x51, 0x50, 0x04, 0x84, 0x00, 0x0F,
|
||||||
|
0x50, 0x84, 0x84, 0x59, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x85, 0x85, 0x85, 0x51, 0x00,
|
||||||
|
0x06, 0x84, 0x01, 0x50, 0x10, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05,
|
||||||
|
0x60, 0x85, 0x85, 0x85, 0x14, 0x00, 0x17, 0x82, 0x00, 0x07, 0x1F, 0x12, 0x71, 0x36, 0x36, 0x36,
|
||||||
|
0x05, 0x00, 0x05, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x10, 0x80,
|
||||||
|
0x00, 0x0A, 0x63, 0x85, 0x85, 0x24, 0x80, 0x6E, 0x85, 0x85, 0x85, 0x24, 0x0F, 0x80, 0x00, 0x04,
|
||||||
|
0x2F, 0x30, 0x22, 0x00, 0x05, 0x36, 0x01, 0x19, 0x0C, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x52,
|
||||||
|
0x04, 0x85, 0x01, 0x4D, 0x04, 0x84, 0x06, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x03, 0x4F, 0x85,
|
||||||
|
0x4E, 0x00, 0x08, 0x84, 0x01, 0x5E, 0x08, 0x85, 0x0A, 0x84, 0x00, 0x0B, 0x52, 0x85, 0x85, 0x85,
|
||||||
|
0x4E, 0x84, 0x84, 0x84, 0x85, 0x85, 0x4D, 0x00, 0x04, 0x84, 0x00, 0x08, 0x58, 0x4D, 0x84, 0x84,
|
||||||
|
0x4D, 0x85, 0x85, 0x4D, 0x0C, 0x84, 0x00, 0x04, 0x4E, 0x85, 0x85, 0x4D, 0x0A, 0x84, 0x01, 0x52,
|
||||||
|
0x05, 0x85, 0x04, 0x84, 0x00, 0x0B, 0x58, 0x85, 0x85, 0x85, 0x52, 0x84, 0x84, 0x84, 0x85, 0x85,
|
||||||
|
0x4D, 0x00, 0x04, 0x84, 0x00, 0x07, 0x5D, 0x59, 0x84, 0x84, 0x58, 0x85, 0x85, 0x00, 0x04, 0x84,
|
||||||
|
0x00, 0x05, 0x4D, 0x85, 0x85, 0x85, 0x5C, 0x00, 0x06, 0x84, 0x01, 0x58, 0x10, 0x85, 0x00, 0x04,
|
||||||
|
0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82, 0x00, 0x05, 0x60, 0x85, 0x85, 0x85, 0x14, 0x00, 0x17, 0x82,
|
||||||
|
0x00, 0x07, 0x1F, 0x12, 0x71, 0x36, 0x36, 0x36, 0x05, 0x00, 0x05, 0x85, 0x00, 0x00, 0x08, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x10, 0x80, 0x00, 0x05, 0x26, 0x85, 0x85, 0x77, 0x69, 0x00,
|
||||||
|
0x04, 0x85, 0x01, 0x69, 0x0F, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x0C, 0x05, 0x05, 0x01, 0x35,
|
||||||
|
0x0C, 0x85, 0x01, 0x51, 0x04, 0x84, 0x01, 0x5A, 0x04, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x01, 0x53,
|
||||||
|
0x05, 0x85, 0x01, 0x51, 0x04, 0x84, 0x00, 0x03, 0x4F, 0x85, 0x85, 0x00, 0x07, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x51, 0x08, 0x85, 0x0A, 0x84, 0x00, 0x0A, 0x4F, 0x85, 0x85, 0x85, 0x4E, 0x84, 0x84, 0x84,
|
||||||
|
0x85, 0x4E, 0x05, 0x84, 0x00, 0x08, 0x53, 0x4D, 0x84, 0x84, 0x5A, 0x85, 0x85, 0x4D, 0x0C, 0x84,
|
||||||
|
0x00, 0x04, 0x51, 0x85, 0x85, 0x50, 0x09, 0x84, 0x01, 0x52, 0x05, 0x85, 0x01, 0x53, 0x04, 0x84,
|
||||||
|
0x00, 0x0A, 0x4F, 0x85, 0x85, 0x85, 0x4F, 0x84, 0x84, 0x56, 0x85, 0x5E, 0x04, 0x84, 0x00, 0x08,
|
||||||
|
0x50, 0x51, 0x84, 0x84, 0x84, 0x5E, 0x85, 0x57, 0x04, 0x84, 0x00, 0x05, 0x4F, 0x85, 0x85, 0x85,
|
||||||
|
0x4F, 0x00, 0x06, 0x84, 0x01, 0x52, 0x10, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0D, 0x82,
|
||||||
|
0x00, 0x05, 0x60, 0x85, 0x85, 0x85, 0x60, 0x00, 0x17, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00,
|
||||||
|
0x04, 0x36, 0x00, 0x05, 0x35, 0x85, 0x85, 0x85, 0x85, 0x00, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x33, 0x00, 0x10, 0x80, 0x00, 0x09, 0x24, 0x85, 0x85, 0x63, 0x16, 0x85, 0x85, 0x85,
|
||||||
|
0x77, 0x00, 0x10, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x13, 0x85, 0x00, 0x05, 0x56, 0x84,
|
||||||
|
0x84, 0x84, 0x4D, 0x00, 0x04, 0x85, 0x01, 0x5C, 0x04, 0x84, 0x01, 0x4E, 0x06, 0x85, 0x04, 0x84,
|
||||||
|
0x00, 0x03, 0x4D, 0x85, 0x85, 0x00, 0x07, 0x84, 0x01, 0x56, 0x01, 0x51, 0x08, 0x85, 0x01, 0x56,
|
||||||
|
0x09, 0x84, 0x00, 0x0A, 0x4F, 0x85, 0x85, 0x85, 0x4E, 0x84, 0x84, 0x84, 0x85, 0x4D, 0x04, 0x84,
|
||||||
|
0x00, 0x09, 0x58, 0x85, 0x4D, 0x84, 0x84, 0x4F, 0x85, 0x85, 0x57, 0x00, 0x07, 0x4E, 0x05, 0x4F,
|
||||||
|
0x00, 0x03, 0x85, 0x85, 0x85, 0x00, 0x09, 0x84, 0x01, 0x4D, 0x01, 0x53, 0x05, 0x85, 0x01, 0x4E,
|
||||||
|
0x04, 0x84, 0x00, 0x0A, 0x5C, 0x85, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x4D, 0x57, 0x50, 0x04, 0x84,
|
||||||
|
0x00, 0x08, 0x5C, 0x57, 0x84, 0x84, 0x84, 0x4E, 0x85, 0x5E, 0x04, 0x84, 0x00, 0x05, 0x4E, 0x85,
|
||||||
|
0x85, 0x85, 0x5A, 0x00, 0x06, 0x4D, 0x01, 0x53, 0x10, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x0D, 0x82, 0x00, 0x05, 0x14, 0x85, 0x85, 0x85, 0x67, 0x00, 0x17, 0x82, 0x00, 0x03, 0x1F, 0x12,
|
||||||
|
0x71, 0x00, 0x04, 0x36, 0x00, 0x05, 0x19, 0x85, 0x85, 0x85, 0x85, 0x00, 0x00, 0x00, 0x08, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x11, 0x80, 0x01, 0x63, 0x06, 0x85, 0x01, 0x24, 0x10, 0x80,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x13, 0x85, 0x01, 0x58, 0x04, 0x84, 0x04, 0x85, 0x01, 0x53,
|
||||||
|
0x04, 0x84, 0x01, 0x4F, 0x06, 0x85, 0x00, 0x08, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x85, 0x85, 0x4D,
|
||||||
|
0x07, 0x84, 0x01, 0x4F, 0x08, 0x85, 0x01, 0x4D, 0x09, 0x84, 0x00, 0x09, 0x4F, 0x85, 0x85, 0x85,
|
||||||
|
0x4E, 0x84, 0x84, 0x84, 0x52, 0x00, 0x05, 0x84, 0x00, 0x06, 0x53, 0x85, 0x4D, 0x84, 0x84, 0x4F,
|
||||||
|
0x12, 0x85, 0x0B, 0x84, 0x01, 0x5C, 0x04, 0x85, 0x01, 0x5E, 0x04, 0x84, 0x00, 0x09, 0x4E, 0x85,
|
||||||
|
0x85, 0x85, 0x59, 0x84, 0x84, 0x4F, 0x59, 0x00, 0x04, 0x84, 0x00, 0x09, 0x5D, 0x85, 0x52, 0x84,
|
||||||
|
0x84, 0x84, 0x85, 0x85, 0x5A, 0x00, 0x04, 0x84, 0x01, 0x51, 0x1B, 0x85, 0x00, 0x04, 0x2D, 0x22,
|
||||||
|
0x30, 0x5B, 0x0D, 0x82, 0x01, 0x11, 0x04, 0x85, 0x01, 0x14, 0x16, 0x82, 0x00, 0x03, 0x1F, 0x12,
|
||||||
|
0x71, 0x00, 0x04, 0x36, 0x00, 0x05, 0x03, 0x85, 0x85, 0x85, 0x85, 0x00, 0x00, 0x00, 0x08, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x11, 0x80, 0x01, 0x26, 0x05, 0x85, 0x01, 0x63, 0x11, 0x80,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x13, 0x85, 0x01, 0x5E, 0x04, 0x84, 0x01, 0x57, 0x04, 0x85,
|
||||||
|
0x00, 0x05, 0x56, 0x84, 0x84, 0x84, 0x5D, 0x00, 0x06, 0x85, 0x00, 0x11, 0x4D, 0x84, 0x84, 0x84,
|
||||||
|
0x59, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x50, 0x84, 0x84, 0x84, 0x53, 0x00, 0x07, 0x85,
|
||||||
|
0x00, 0x05, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x09, 0x85, 0x01, 0x4E, 0x08, 0x84, 0x00, 0x07,
|
||||||
|
0x58, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x4F, 0x00, 0x11, 0x85, 0x01, 0x57, 0x04, 0x84, 0x00, 0x03,
|
||||||
|
0x4D, 0x4F, 0x5A, 0x00, 0x04, 0x84, 0x01, 0x56, 0x04, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x04, 0x85,
|
||||||
|
0x00, 0x04, 0x84, 0x84, 0x84, 0x56, 0x04, 0x84, 0x00, 0x0E, 0x50, 0x51, 0x85, 0x5A, 0x84, 0x84,
|
||||||
|
0x59, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x1C, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x0E, 0x82, 0x00, 0x06, 0x60, 0x85, 0x85, 0x85, 0x67, 0x11, 0x15, 0x82, 0x00, 0x03, 0x1F, 0x12,
|
||||||
|
0x71, 0x00, 0x04, 0x36, 0x00, 0x05, 0x03, 0x85, 0x85, 0x85, 0x85, 0x00, 0x00, 0x00, 0x08, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x11, 0x80, 0x01, 0x24, 0x05, 0x85, 0x01, 0x26, 0x11, 0x80,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x13, 0x85, 0x01, 0x57, 0x04, 0x84, 0x01, 0x52, 0x04, 0x85,
|
||||||
|
0x00, 0x05, 0x58, 0x84, 0x84, 0x84, 0x50, 0x00, 0x06, 0x85, 0x01, 0x5A, 0x04, 0x84, 0x00, 0x03,
|
||||||
|
0x85, 0x85, 0x4F, 0x00, 0x04, 0x84, 0x00, 0x05, 0x4F, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x07, 0x85,
|
||||||
|
0x00, 0x05, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x00, 0x09, 0x85, 0x01, 0x4E, 0x08, 0x84, 0x00, 0x07,
|
||||||
|
0x53, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x4F, 0x00, 0x11, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x04,
|
||||||
|
0x4E, 0x85, 0x85, 0x5E, 0x04, 0x84, 0x00, 0x0D, 0x57, 0x85, 0x85, 0x85, 0x5D, 0x84, 0x84, 0x84,
|
||||||
|
0x50, 0x85, 0x85, 0x85, 0x57, 0x00, 0x08, 0x84, 0x00, 0x0E, 0x5C, 0x85, 0x85, 0x4D, 0x84, 0x84,
|
||||||
|
0x5A, 0x85, 0x85, 0x56, 0x84, 0x84, 0x84, 0x4D, 0x1C, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B,
|
||||||
|
0x0E, 0x82, 0x01, 0x11, 0x01, 0x67, 0x04, 0x85, 0x00, 0x06, 0x1D, 0x2C, 0x2C, 0x14, 0x70, 0x14,
|
||||||
|
0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x04, 0x36, 0x00, 0x05, 0x05, 0x85, 0x85, 0x85,
|
||||||
|
0x85, 0x00, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x12, 0x80, 0x01, 0x63,
|
||||||
|
0x04, 0x85, 0x01, 0x24, 0x11, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x14, 0x85, 0x04, 0x84,
|
||||||
|
0x01, 0x5A, 0x04, 0x85, 0x01, 0x5C, 0x04, 0x84, 0x01, 0x53, 0x05, 0x85, 0x01, 0x4F, 0x04, 0x84,
|
||||||
|
0x00, 0x03, 0x85, 0x85, 0x4F, 0x00, 0x04, 0x84, 0x00, 0x06, 0x51, 0x56, 0x84, 0x84, 0x84, 0x5C,
|
||||||
|
0x06, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x09, 0x85, 0x01, 0x4E, 0x07, 0x84, 0x00, 0x08, 0x58, 0x85,
|
||||||
|
0x85, 0x85, 0x4D, 0x84, 0x84, 0x4F, 0x11, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x00, 0x04, 0x4E, 0x85,
|
||||||
|
0x85, 0x53, 0x04, 0x84, 0x00, 0x0D, 0x4E, 0x85, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x85,
|
||||||
|
0x85, 0x85, 0x5C, 0x00, 0x07, 0x84, 0x00, 0x0A, 0x5A, 0x85, 0x85, 0x85, 0x84, 0x84, 0x84, 0x52,
|
||||||
|
0x85, 0x85, 0x04, 0x84, 0x01, 0x4D, 0x1C, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x0F, 0x82,
|
||||||
|
0x01, 0x11, 0x01, 0x67, 0x08, 0x85, 0x01, 0x14, 0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00,
|
||||||
|
0x05, 0x36, 0x04, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x12, 0x80,
|
||||||
|
0x00, 0x05, 0x26, 0x85, 0x85, 0x85, 0x63, 0x00, 0x12, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D,
|
||||||
|
0x14, 0x85, 0x00, 0x05, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x00, 0x05, 0x85, 0x00, 0x05, 0x50, 0x84,
|
||||||
|
0x84, 0x84, 0x5E, 0x00, 0x05, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x03, 0x85, 0x85, 0x4E, 0x00,
|
||||||
|
0x04, 0x84, 0x00, 0x07, 0x4E, 0x5C, 0x84, 0x84, 0x84, 0x56, 0x51, 0x00, 0x05, 0x85, 0x01, 0x4F,
|
||||||
|
0x04, 0x84, 0x09, 0x85, 0x01, 0x53, 0x07, 0x84, 0x00, 0x08, 0x53, 0x85, 0x85, 0x85, 0x4D, 0x84,
|
||||||
|
0x84, 0x4F, 0x11, 0x85, 0x01, 0x52, 0x04, 0x84, 0x00, 0x04, 0x57, 0x85, 0x85, 0x53, 0x04, 0x84,
|
||||||
|
0x00, 0x04, 0x4E, 0x85, 0x85, 0x85, 0x04, 0x84, 0x00, 0x05, 0x58, 0x85, 0x85, 0x85, 0x4F, 0x00,
|
||||||
|
0x06, 0x84, 0x00, 0x0B, 0x56, 0x51, 0x85, 0x85, 0x57, 0x84, 0x84, 0x84, 0x57, 0x85, 0x85, 0x00,
|
||||||
|
0x04, 0x84, 0x01, 0x5A, 0x1C, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x10, 0x82, 0x01, 0x11,
|
||||||
|
0x01, 0x60, 0x07, 0x85, 0x01, 0x14, 0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x05, 0x36,
|
||||||
|
0x00, 0x04, 0x19, 0x85, 0x85, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00,
|
||||||
|
0x12, 0x80, 0x00, 0x05, 0x09, 0x16, 0x16, 0x16, 0x24, 0x00, 0x12, 0x80, 0x00, 0x04, 0x2F, 0x30,
|
||||||
|
0x22, 0x2D, 0x14, 0x85, 0x01, 0x5A, 0x04, 0x84, 0x05, 0x85, 0x00, 0x05, 0x58, 0x84, 0x84, 0x84,
|
||||||
|
0x5D, 0x00, 0x05, 0x85, 0x00, 0x08, 0x4F, 0x84, 0x84, 0x84, 0x4D, 0x85, 0x85, 0x4E, 0x04, 0x84,
|
||||||
|
0x00, 0x07, 0x4E, 0x85, 0x4D, 0x84, 0x84, 0x84, 0x4F, 0x00, 0x05, 0x85, 0x01, 0x4F, 0x04, 0x84,
|
||||||
|
0x0A, 0x85, 0x06, 0x84, 0x01, 0x58, 0x04, 0x85, 0x00, 0x04, 0x4D, 0x84, 0x84, 0x4F, 0x11, 0x85,
|
||||||
|
0x01, 0x4F, 0x04, 0x84, 0x00, 0x04, 0x85, 0x85, 0x85, 0x4E, 0x04, 0x84, 0x00, 0x04, 0x4E, 0x85,
|
||||||
|
0x85, 0x85, 0x04, 0x84, 0x00, 0x05, 0x4F, 0x85, 0x85, 0x85, 0x5D, 0x00, 0x06, 0x84, 0x00, 0x0B,
|
||||||
|
0x4E, 0x85, 0x85, 0x85, 0x52, 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x00, 0x04, 0x84, 0x01, 0x4D,
|
||||||
|
0x1C, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x12, 0x82, 0x00, 0x08, 0x11, 0x14, 0x1D, 0x60,
|
||||||
|
0x1D, 0x14, 0x2C, 0x64, 0x0F, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x05, 0x36, 0x00, 0x04,
|
||||||
|
0x19, 0x85, 0x85, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x29, 0x80,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x14, 0x85, 0x01, 0x5C, 0x04, 0x84, 0x01, 0x57, 0x04, 0x85,
|
||||||
|
0x01, 0x53, 0x04, 0x84, 0x01, 0x53, 0x04, 0x85, 0x00, 0x08, 0x4F, 0x84, 0x84, 0x84, 0x4D, 0x85,
|
||||||
|
0x85, 0x85, 0x04, 0x84, 0x00, 0x03, 0x4F, 0x85, 0x4E, 0x00, 0x04, 0x84, 0x01, 0x53, 0x04, 0x85,
|
||||||
|
0x01, 0x52, 0x04, 0x84, 0x01, 0x51, 0x09, 0x85, 0x06, 0x84, 0x01, 0x53, 0x04, 0x85, 0x00, 0x04,
|
||||||
|
0x4D, 0x84, 0x84, 0x4F, 0x11, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x00, 0x04, 0x85, 0x85, 0x85, 0x52,
|
||||||
|
0x04, 0x84, 0x00, 0x04, 0x53, 0x85, 0x85, 0x4E, 0x04, 0x84, 0x00, 0x05, 0x5C, 0x85, 0x85, 0x85,
|
||||||
|
0x4D, 0x00, 0x05, 0x84, 0x01, 0x5A, 0x04, 0x85, 0x00, 0x07, 0x5A, 0x84, 0x84, 0x4D, 0x85, 0x85,
|
||||||
|
0x85, 0x00, 0x04, 0x84, 0x01, 0x59, 0x1C, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x29, 0x82,
|
||||||
|
0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x05, 0x36, 0x00, 0x04, 0x03, 0x85, 0x85, 0x85, 0x00, 0x00,
|
||||||
|
0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x04, 0x80, 0x00, 0x21, 0x69, 0x09, 0x09, 0x69,
|
||||||
|
0x80, 0x80, 0x09, 0x09, 0x80, 0x09, 0x69, 0x80, 0x80, 0x09, 0x09, 0x80, 0x09, 0x09, 0x80, 0x69,
|
||||||
|
0x09, 0x69, 0x80, 0x69, 0x09, 0x09, 0x80, 0x80, 0x09, 0x69, 0x80, 0x80, 0x09, 0x00, 0x04, 0x80,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x14, 0x85, 0x01, 0x53, 0x04, 0x84, 0x01, 0x52, 0x05, 0x85,
|
||||||
|
0x00, 0x05, 0x58, 0x84, 0x84, 0x84, 0x5D, 0x00, 0x04, 0x85, 0x00, 0x08, 0x5D, 0x84, 0x84, 0x84,
|
||||||
|
0x5A, 0x85, 0x85, 0x85, 0x04, 0x84, 0x00, 0x08, 0x4F, 0x85, 0x85, 0x58, 0x84, 0x84, 0x84, 0x4D,
|
||||||
|
0x04, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x4E, 0x09, 0x85, 0x05, 0x84, 0x01, 0x58, 0x05, 0x85,
|
||||||
|
0x00, 0x04, 0x4D, 0x84, 0x84, 0x4F, 0x11, 0x85, 0x00, 0x09, 0x58, 0x84, 0x84, 0x84, 0x56, 0x85,
|
||||||
|
0x85, 0x85, 0x5D, 0x00, 0x04, 0x84, 0x00, 0x04, 0x85, 0x85, 0x85, 0x5C, 0x04, 0x84, 0x00, 0x04,
|
||||||
|
0x57, 0x85, 0x85, 0x85, 0x05, 0x84, 0x01, 0x56, 0x01, 0x51, 0x04, 0x85, 0x00, 0x07, 0x4D, 0x84,
|
||||||
|
0x84, 0x5A, 0x85, 0x85, 0x85, 0x00, 0x05, 0x84, 0x01, 0x53, 0x1B, 0x85, 0x00, 0x28, 0x2D, 0x22,
|
||||||
|
0x30, 0x5B, 0x82, 0x82, 0x82, 0x11, 0x11, 0x11, 0x82, 0x82, 0x64, 0x11, 0x68, 0x68, 0x11, 0x82,
|
||||||
|
0x82, 0x64, 0x11, 0x68, 0x68, 0x11, 0x64, 0x82, 0x11, 0x11, 0x82, 0x82, 0x11, 0x11, 0x68, 0x82,
|
||||||
|
0x64, 0x11, 0x82, 0x82, 0x64, 0x68, 0x05, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x05, 0x36,
|
||||||
|
0x00, 0x04, 0x05, 0x85, 0x85, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00,
|
||||||
|
0x04, 0x80, 0x00, 0x21, 0x85, 0x6A, 0x63, 0x85, 0x24, 0x80, 0x61, 0x61, 0x80, 0x6E, 0x26, 0x80,
|
||||||
|
0x69, 0x85, 0x26, 0x80, 0x85, 0x61, 0x80, 0x09, 0x85, 0x09, 0x09, 0x63, 0x6E, 0x63, 0x6E, 0x69,
|
||||||
|
0x85, 0x09, 0x80, 0x16, 0x85, 0x00, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x11, 0x85,
|
||||||
|
0x04, 0x4D, 0x04, 0x84, 0x00, 0x07, 0x56, 0x4D, 0x5A, 0x4F, 0x52, 0x85, 0x53, 0x00, 0x04, 0x84,
|
||||||
|
0x00, 0x04, 0x58, 0x51, 0x85, 0x52, 0x04, 0x84, 0x00, 0x15, 0x52, 0x85, 0x85, 0x85, 0x4D, 0x84,
|
||||||
|
0x84, 0x84, 0x5D, 0x85, 0x85, 0x53, 0x50, 0x84, 0x84, 0x84, 0x5C, 0x85, 0x85, 0x85, 0x4E, 0x00,
|
||||||
|
0x04, 0x84, 0x01, 0x5E, 0x06, 0x4E, 0x00, 0x03, 0x53, 0x85, 0x85, 0x00, 0x05, 0x84, 0x01, 0x53,
|
||||||
|
0x05, 0x85, 0x00, 0x04, 0x4D, 0x84, 0x84, 0x4F, 0x11, 0x85, 0x00, 0x08, 0x4D, 0x84, 0x84, 0x84,
|
||||||
|
0x4D, 0x85, 0x85, 0x52, 0x04, 0x84, 0x00, 0x05, 0x59, 0x85, 0x85, 0x85, 0x4F, 0x00, 0x04, 0x84,
|
||||||
|
0x00, 0x04, 0x85, 0x85, 0x85, 0x53, 0x05, 0x84, 0x01, 0x4E, 0x05, 0x85, 0x00, 0x08, 0x50, 0x84,
|
||||||
|
0x84, 0x52, 0x85, 0x85, 0x85, 0x4D, 0x04, 0x84, 0x00, 0x08, 0x4D, 0x51, 0x85, 0x85, 0x85, 0x4E,
|
||||||
|
0x4D, 0x53, 0x14, 0x85, 0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x11, 0x85, 0x74, 0x85,
|
||||||
|
0x67, 0x68, 0x11, 0x85, 0x14, 0x11, 0x85, 0x11, 0x82, 0x1D, 0x85, 0x11, 0x14, 0x85, 0x11, 0x82,
|
||||||
|
0x60, 0x85, 0x82, 0x1D, 0x85, 0x74, 0x85, 0x14, 0x11, 0x85, 0x82, 0x64, 0x74, 0x14, 0x05, 0x82,
|
||||||
|
0x00, 0x03, 0x1F, 0x12, 0x71, 0x00, 0x05, 0x36, 0x00, 0x04, 0x05, 0x85, 0x85, 0x85, 0x00, 0x00,
|
||||||
|
0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x04, 0x80, 0x00, 0x21, 0x69, 0x80, 0x69, 0x85,
|
||||||
|
0x61, 0x80, 0x61, 0x61, 0x80, 0x16, 0x63, 0x61, 0x6E, 0x85, 0x09, 0x80, 0x85, 0x61, 0x80, 0x09,
|
||||||
|
0x85, 0x09, 0x77, 0x63, 0x80, 0x24, 0x85, 0x24, 0x85, 0x09, 0x24, 0x85, 0x85, 0x00, 0x04, 0x80,
|
||||||
|
0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x11, 0x85, 0x01, 0x59, 0x0B, 0x84, 0x00, 0x04, 0x59, 0x85,
|
||||||
|
0x85, 0x4F, 0x0B, 0x84, 0x00, 0x15, 0x51, 0x85, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x85,
|
||||||
|
0x85, 0x85, 0x4F, 0x84, 0x84, 0x84, 0x56, 0x51, 0x85, 0x85, 0x4E, 0x00, 0x0B, 0x84, 0x00, 0x03,
|
||||||
|
0x4F, 0x85, 0x85, 0x00, 0x04, 0x84, 0x01, 0x58, 0x06, 0x85, 0x00, 0x04, 0x50, 0x84, 0x84, 0x5E,
|
||||||
|
0x11, 0x85, 0x00, 0x07, 0x4D, 0x84, 0x84, 0x84, 0x50, 0x4D, 0x56, 0x00, 0x05, 0x84, 0x00, 0x0D,
|
||||||
|
0x5A, 0x85, 0x85, 0x85, 0x5A, 0x84, 0x84, 0x84, 0x56, 0x85, 0x85, 0x85, 0x4E, 0x00, 0x04, 0x84,
|
||||||
|
0x01, 0x4F, 0x05, 0x85, 0x00, 0x09, 0x53, 0x84, 0x84, 0x84, 0x57, 0x85, 0x85, 0x85, 0x5A, 0x00,
|
||||||
|
0x05, 0x84, 0x00, 0x06, 0x56, 0x5A, 0x5A, 0x59, 0x84, 0x56, 0x15, 0x85, 0x00, 0x28, 0x2D, 0x22,
|
||||||
|
0x30, 0x5B, 0x82, 0x82, 0x64, 0x82, 0x82, 0x1D, 0x85, 0x11, 0x11, 0x85, 0x14, 0x82, 0x6D, 0x6D,
|
||||||
|
0x60, 0x67, 0x6D, 0x82, 0x14, 0x85, 0x11, 0x82, 0x60, 0x85, 0x68, 0x85, 0x1D, 0x82, 0x60, 0x85,
|
||||||
|
0x11, 0x85, 0x82, 0x60, 0x85, 0x14, 0x05, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x18, 0x00, 0x05, 0x05,
|
||||||
|
0x00, 0x04, 0x03, 0x85, 0x85, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00,
|
||||||
|
0x05, 0x80, 0x00, 0x20, 0x26, 0x63, 0x85, 0x16, 0x80, 0x61, 0x61, 0x80, 0x69, 0x85, 0x16, 0x6A,
|
||||||
|
0x6A, 0x80, 0x80, 0x85, 0x61, 0x80, 0x09, 0x85, 0x09, 0x61, 0x61, 0x80, 0x09, 0x85, 0x16, 0x85,
|
||||||
|
0x16, 0x85, 0x63, 0x85, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x11, 0x85, 0x01, 0x58,
|
||||||
|
0x0C, 0x84, 0x00, 0x04, 0x85, 0x85, 0x85, 0x4D, 0x09, 0x84, 0x01, 0x58, 0x04, 0x85, 0x00, 0x11,
|
||||||
|
0x4F, 0x84, 0x84, 0x84, 0x56, 0x85, 0x85, 0x85, 0x51, 0x56, 0x84, 0x84, 0x84, 0x4F, 0x85, 0x85,
|
||||||
|
0x51, 0x00, 0x0B, 0x84, 0x00, 0x03, 0x4F, 0x85, 0x85, 0x00, 0x04, 0x84, 0x01, 0x53, 0x06, 0x85,
|
||||||
|
0x00, 0x04, 0x84, 0x84, 0x84, 0x4E, 0x11, 0x85, 0x01, 0x56, 0x0B, 0x84, 0x00, 0x11, 0x53, 0x85,
|
||||||
|
0x85, 0x85, 0x4D, 0x84, 0x84, 0x84, 0x4D, 0x85, 0x85, 0x85, 0x4F, 0x84, 0x84, 0x84, 0x59, 0x00,
|
||||||
|
0x06, 0x85, 0x00, 0x04, 0x5C, 0x84, 0x84, 0x84, 0x04, 0x85, 0x01, 0x57, 0x0A, 0x84, 0x01, 0x58,
|
||||||
|
0x15, 0x85, 0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x82, 0x11, 0x74, 0x85, 0x67, 0x68,
|
||||||
|
0x11, 0x85, 0x14, 0x82, 0x14, 0x85, 0x14, 0x85, 0x14, 0x82, 0x14, 0x85, 0x11, 0x82, 0x60, 0x85,
|
||||||
|
0x11, 0x85, 0x14, 0x82, 0x14, 0x85, 0x11, 0x85, 0x1D, 0x85, 0x85, 0x14, 0x05, 0x82, 0x00, 0x03,
|
||||||
|
0x1F, 0x12, 0x48, 0x00, 0x09, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00,
|
||||||
|
0x04, 0x80, 0x00, 0x21, 0x26, 0x85, 0x61, 0x24, 0x80, 0x80, 0x61, 0x61, 0x80, 0x80, 0x77, 0x6E,
|
||||||
|
0x85, 0x16, 0x80, 0x80, 0x85, 0x61, 0x80, 0x09, 0x85, 0x09, 0x61, 0x6A, 0x80, 0x09, 0x85, 0x16,
|
||||||
|
0x85, 0x85, 0x6A, 0x24, 0x85, 0x00, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x11, 0x85,
|
||||||
|
0x01, 0x52, 0x0C, 0x84, 0x00, 0x05, 0x4E, 0x85, 0x85, 0x51, 0x59, 0x00, 0x07, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x53, 0x04, 0x85, 0x01, 0x4F, 0x04, 0x84, 0x04, 0x85, 0x01, 0x52, 0x04, 0x84, 0x00, 0x03,
|
||||||
|
0x53, 0x85, 0x85, 0x00, 0x0B, 0x84, 0x00, 0x07, 0x4F, 0x85, 0x85, 0x84, 0x84, 0x84, 0x5A, 0x00,
|
||||||
|
0x07, 0x85, 0x00, 0x04, 0x84, 0x84, 0x84, 0x4E, 0x11, 0x85, 0x0B, 0x84, 0x01, 0x5A, 0x04, 0x85,
|
||||||
|
0x00, 0x0D, 0x56, 0x84, 0x84, 0x84, 0x5A, 0x85, 0x85, 0x85, 0x5A, 0x84, 0x84, 0x84, 0x57, 0x00,
|
||||||
|
0x06, 0x85, 0x00, 0x04, 0x4F, 0x84, 0x84, 0x4D, 0x05, 0x85, 0x01, 0x4D, 0x09, 0x84, 0x01, 0x52,
|
||||||
|
0x15, 0x85, 0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x82, 0x67, 0x67, 0x1D, 0x68, 0x82,
|
||||||
|
0x11, 0x85, 0x14, 0x82, 0x68, 0x85, 0x6D, 0x85, 0x68, 0x82, 0x14, 0x85, 0x11, 0x82, 0x60, 0x85,
|
||||||
|
0x11, 0x85, 0x14, 0x82, 0x1D, 0x85, 0x11, 0x85, 0x85, 0x1D, 0x60, 0x14, 0x05, 0x82, 0x00, 0x03,
|
||||||
|
0x1F, 0x12, 0x48, 0x00, 0x09, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00,
|
||||||
|
0x04, 0x80, 0x00, 0x21, 0x26, 0x85, 0x24, 0x16, 0x24, 0x16, 0x6A, 0x6A, 0x16, 0x69, 0x24, 0x85,
|
||||||
|
0x85, 0x69, 0x09, 0x16, 0x85, 0x6A, 0x16, 0x09, 0x85, 0x09, 0x16, 0x85, 0x16, 0x26, 0x85, 0x09,
|
||||||
|
0x85, 0x63, 0x09, 0x09, 0x85, 0x00, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x11, 0x85,
|
||||||
|
0x01, 0x57, 0x0C, 0x84, 0x01, 0x52, 0x04, 0x85, 0x01, 0x4F, 0x05, 0x84, 0x01, 0x50, 0x01, 0x57,
|
||||||
|
0x05, 0x85, 0x01, 0x4E, 0x04, 0x84, 0x01, 0x51, 0x04, 0x85, 0x00, 0x07, 0x4D, 0x84, 0x84, 0x84,
|
||||||
|
0x4D, 0x85, 0x85, 0x00, 0x0B, 0x84, 0x00, 0x07, 0x4F, 0x85, 0x85, 0x84, 0x84, 0x50, 0x51, 0x00,
|
||||||
|
0x07, 0x85, 0x00, 0x04, 0x84, 0x84, 0x84, 0x4E, 0x11, 0x85, 0x0A, 0x84, 0x01, 0x59, 0x01, 0x51,
|
||||||
|
0x04, 0x85, 0x04, 0x84, 0x00, 0x08, 0x4F, 0x85, 0x85, 0x85, 0x4D, 0x84, 0x84, 0x4F, 0x07, 0x85,
|
||||||
|
0x00, 0x04, 0x4D, 0x84, 0x84, 0x5A, 0x05, 0x85, 0x01, 0x57, 0x01, 0x50, 0x08, 0x84, 0x01, 0x53,
|
||||||
|
0x15, 0x85, 0x00, 0x28, 0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x82, 0x67, 0x6D, 0x2C, 0x14, 0x11,
|
||||||
|
0x1D, 0x85, 0x60, 0x2C, 0x82, 0x60, 0x85, 0x70, 0x82, 0x2C, 0x60, 0x85, 0x1D, 0x11, 0x60, 0x85,
|
||||||
|
0x82, 0x6D, 0x74, 0x2C, 0x6D, 0x60, 0x11, 0x85, 0x1D, 0x82, 0x60, 0x14, 0x05, 0x82, 0x00, 0x03,
|
||||||
|
0x1F, 0x12, 0x48, 0x00, 0x09, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00,
|
||||||
|
0x04, 0x80, 0x00, 0x05, 0x69, 0x26, 0x61, 0x61, 0x16, 0x00, 0x04, 0x61, 0x00, 0x06, 0x09, 0x80,
|
||||||
|
0x61, 0x26, 0x80, 0x24, 0x04, 0x61, 0x00, 0x0E, 0x09, 0x61, 0x09, 0x80, 0x16, 0x61, 0x61, 0x24,
|
||||||
|
0x80, 0x61, 0x09, 0x80, 0x09, 0x61, 0x04, 0x80, 0x00, 0x04, 0x2F, 0x30, 0x22, 0x2D, 0x24, 0x85,
|
||||||
|
0x00, 0x06, 0x51, 0x52, 0x4F, 0x4F, 0x52, 0x51, 0x06, 0x85, 0x01, 0x51, 0x04, 0x4E, 0x01, 0x51,
|
||||||
|
0x04, 0x85, 0x01, 0x53, 0x04, 0x4E, 0x01, 0x85, 0x01, 0x85, 0x04, 0x4E, 0x01, 0x52, 0x06, 0x4F,
|
||||||
|
0x00, 0x06, 0x4E, 0x85, 0x85, 0x4F, 0x4F, 0x5C, 0x08, 0x85, 0x00, 0x04, 0x4F, 0x4F, 0x4F, 0x53,
|
||||||
|
0x11, 0x85, 0x08, 0x4D, 0x01, 0x5D, 0x01, 0x52, 0x05, 0x85, 0x01, 0x51, 0x04, 0x4D, 0x00, 0x07,
|
||||||
|
0x57, 0x85, 0x85, 0x85, 0x50, 0x84, 0x59, 0x00, 0x08, 0x85, 0x00, 0x04, 0x50, 0x84, 0x84, 0x52,
|
||||||
|
0x06, 0x85, 0x01, 0x57, 0x01, 0x56, 0x05, 0x84, 0x01, 0x56, 0x01, 0x52, 0x16, 0x85, 0x00, 0x28,
|
||||||
|
0x2D, 0x22, 0x30, 0x5B, 0x82, 0x82, 0x82, 0x11, 0x70, 0x60, 0x70, 0x2C, 0x60, 0x60, 0x60, 0x1D,
|
||||||
|
0x82, 0x2C, 0x60, 0x2C, 0x82, 0x1D, 0x60, 0x60, 0x60, 0x2C, 0x1D, 0x60, 0x82, 0x11, 0x70, 0x60,
|
||||||
|
0x1D, 0x64, 0x11, 0x70, 0x64, 0x82, 0x1D, 0x2C, 0x05, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x48, 0x00,
|
||||||
|
0x09, 0x85, 0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x29, 0x80, 0x00, 0x04,
|
||||||
|
0x2F, 0x30, 0x22, 0x2D, 0x9E, 0x85, 0x00, 0x05, 0x4E, 0x4F, 0x4F, 0x5E, 0x4E, 0x00, 0x18, 0x85,
|
||||||
|
0x00, 0x04, 0x2D, 0x22, 0x30, 0x5B, 0x29, 0x82, 0x00, 0x03, 0x1F, 0x12, 0x48, 0x00, 0x09, 0x85,
|
||||||
|
0x00, 0x00, 0x08, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x33, 0x00, 0x29, 0x07, 0x00, 0x04, 0x2F, 0x30,
|
||||||
|
0x22, 0x2D, 0xBB, 0x85, 0x00, 0x04, 0x2D, 0x22, 0x3A, 0x5B, 0x29, 0x1B, 0x00, 0x03, 0x1F, 0x12,
|
||||||
|
0x48, 0x00, 0x09, 0x85, 0x00, 0x00, 0x08, 0x85, 0x01, 0x22, 0x01, 0x1F, 0x2C, 0x30, 0x01, 0x22,
|
||||||
|
0x01, 0x2D, 0xBB, 0x85, 0x01, 0x2D, 0x01, 0x22, 0x2C, 0x30, 0x01, 0x12, 0x01, 0x48, 0x09, 0x85,
|
||||||
|
0x00, 0x00, 0x08, 0x85, 0x01, 0x4B, 0x01, 0x18, 0x2B, 0x1F, 0x00, 0x03, 0x12, 0x22, 0x36, 0x00,
|
||||||
|
0xBB, 0x85, 0x00, 0x03, 0x2D, 0x22, 0x47, 0x00, 0x2A, 0x1F, 0x00, 0x03, 0x39, 0x18, 0x48, 0x00,
|
||||||
|
0x09, 0x85, 0x00, 0x00, 0x08, 0x85, 0x01, 0x2D, 0x01, 0x4B, 0x2B, 0x22, 0x01, 0x45, 0x01, 0x20,
|
||||||
|
0xBD, 0x85, 0x01, 0x20, 0x01, 0x45, 0x2B, 0x22, 0x01, 0x4B, 0x01, 0x36, 0x09, 0x85, 0x00, 0x00,
|
||||||
|
0x1A, 0x85, 0x01, 0x4E, 0x0E, 0x84, 0x01, 0x4D, 0xD4, 0x85, 0x01, 0x53, 0x01, 0x50, 0x0D, 0x84,
|
||||||
|
0x01, 0x50, 0x1E, 0x85, 0x00, 0x00, 0x1B, 0x85, 0x01, 0x4D, 0x0E, 0x84, 0x01, 0x5E, 0xD3, 0x85,
|
||||||
|
0x01, 0x4D, 0x0E, 0x84, 0x01, 0x4F, 0x1E, 0x85, 0x00, 0x00, 0x1B, 0x85, 0x01, 0x4E, 0x0E, 0x84,
|
||||||
|
0x01, 0x50, 0x01, 0x53, 0xD1, 0x85, 0x01, 0x5E, 0x0E, 0x84, 0x01, 0x56, 0x01, 0x51, 0x1E, 0x85,
|
||||||
|
0x00, 0x00, 0x1C, 0x85, 0x01, 0x4D, 0x0E, 0x84, 0x01, 0x59, 0xD0, 0x85, 0x01, 0x57, 0x01, 0x50,
|
||||||
|
0x0E, 0x84, 0x01, 0x52, 0x1F, 0x85, 0x00, 0x00, 0x1C, 0x85, 0x01, 0x53, 0x0F, 0x84, 0x01, 0x5A,
|
||||||
|
0xCE, 0x85, 0x01, 0x51, 0x01, 0x59, 0x0E, 0x84, 0x01, 0x59, 0x20, 0x85, 0x00, 0x00, 0x1D, 0x85,
|
||||||
|
0x01, 0x5A, 0x0F, 0x84, 0x01, 0x52, 0xCD, 0x85, 0x01, 0x58, 0x0F, 0x84, 0x01, 0x4E, 0x20, 0x85,
|
||||||
|
0x00, 0x00, 0x1D, 0x85, 0x01, 0x51, 0x01, 0x50, 0x0E, 0x84, 0x01, 0x50, 0x01, 0x57, 0xCB, 0x85,
|
||||||
|
0x01, 0x4F, 0x0F, 0x84, 0x01, 0x5D, 0x21, 0x85, 0x00, 0x00, 0x1E, 0x85, 0x01, 0x5C, 0x0F, 0x84,
|
||||||
|
0x01, 0x50, 0x01, 0x53, 0xC9, 0x85, 0x01, 0x52, 0x0F, 0x84, 0x01, 0x50, 0x01, 0x51, 0x21, 0x85,
|
||||||
|
0x00, 0x00, 0x1F, 0x85, 0x01, 0x5D, 0x0F, 0x84, 0x01, 0x59, 0x01, 0x51, 0xC7, 0x85, 0x01, 0x57,
|
||||||
|
0x10, 0x84, 0x01, 0x5C, 0x22, 0x85, 0x00, 0x00, 0x1F, 0x85, 0x01, 0x51, 0x01, 0x50, 0x0F, 0x84,
|
||||||
|
0x01, 0x59, 0x01, 0x51, 0xC5, 0x85, 0x01, 0x57, 0x01, 0x50, 0x0F, 0x84, 0x01, 0x5D, 0x23, 0x85,
|
||||||
|
0x00, 0x00, 0x20, 0x85, 0x01, 0x4E, 0x10, 0x84, 0x01, 0x59, 0x01, 0x51, 0xC3, 0x85, 0x01, 0x57,
|
||||||
|
0x01, 0x50, 0x0F, 0x84, 0x01, 0x50, 0x01, 0x51, 0x23, 0x85, 0x00, 0x00, 0x21, 0x85, 0x01, 0x5A,
|
||||||
|
0x10, 0x84, 0x01, 0x59, 0x01, 0x51, 0xC1, 0x85, 0x01, 0x57, 0x01, 0x50, 0x10, 0x84, 0x01, 0x4E,
|
||||||
|
0x24, 0x85, 0x00, 0x00, 0x22, 0x85, 0x01, 0x59, 0x10, 0x84, 0x01, 0x59, 0x01, 0x51, 0xBF, 0x85,
|
||||||
|
0x01, 0x57, 0x01, 0x50, 0x10, 0x84, 0x01, 0x4F, 0x25, 0x85, 0x00, 0x00, 0x22, 0x85, 0x01, 0x51,
|
||||||
|
0x01, 0x50, 0x10, 0x84, 0x01, 0x59, 0x01, 0x51, 0xBD, 0x85, 0x01, 0x4E, 0x01, 0x50, 0x10, 0x84,
|
||||||
|
0x01, 0x5D, 0x26, 0x85, 0x00, 0x00, 0x23, 0x85, 0x01, 0x57, 0x11, 0x84, 0x01, 0x56, 0x01, 0x57,
|
||||||
|
0xBB, 0x85, 0x01, 0x52, 0x11, 0x84, 0x01, 0x59, 0x01, 0x51, 0x26, 0x85, 0x00, 0x00, 0x24, 0x85,
|
||||||
|
0x01, 0x52, 0x11, 0x84, 0x01, 0x50, 0x01, 0x4E, 0xB9, 0x85, 0x01, 0x4F, 0x11, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x53, 0x27, 0x85, 0x00, 0x00, 0x25, 0x85, 0x01, 0x4F, 0x12, 0x84, 0x01, 0x52, 0xB6, 0x85,
|
||||||
|
0x01, 0x51, 0x01, 0x58, 0x11, 0x84, 0x01, 0x50, 0x01, 0x57, 0x28, 0x85, 0x00, 0x00, 0x26, 0x85,
|
||||||
|
0x01, 0x58, 0x12, 0x84, 0x01, 0x58, 0xB4, 0x85, 0x01, 0x53, 0x01, 0x59, 0x12, 0x84, 0x01, 0x52,
|
||||||
|
0x29, 0x85, 0x00, 0x00, 0x27, 0x85, 0x01, 0x58, 0x12, 0x84, 0x01, 0x59, 0x01, 0x53, 0xB1, 0x85,
|
||||||
|
0x01, 0x5C, 0x01, 0x50, 0x12, 0x84, 0x01, 0x52, 0x2A, 0x85, 0x00, 0x00, 0x28, 0x85, 0x01, 0x58,
|
||||||
|
0x12, 0x84, 0x01, 0x50, 0x01, 0x5C, 0xAF, 0x85, 0x01, 0x5A, 0x13, 0x84, 0x01, 0x52, 0x2B, 0x85,
|
||||||
|
0x00, 0x00, 0x29, 0x85, 0x01, 0x58, 0x13, 0x84, 0x01, 0x5A, 0x01, 0x51, 0xAB, 0x85, 0x01, 0x57,
|
||||||
|
0x01, 0x59, 0x13, 0x84, 0x01, 0x52, 0x2C, 0x85, 0x00, 0x00, 0x2A, 0x85, 0x01, 0x58, 0x13, 0x84,
|
||||||
|
0x01, 0x56, 0x01, 0x4E, 0xA9, 0x85, 0x01, 0x5E, 0x01, 0x50, 0x13, 0x84, 0x01, 0x52, 0x2D, 0x85,
|
||||||
|
0x00, 0x00, 0x2B, 0x85, 0x01, 0x58, 0x14, 0x84, 0x01, 0x5A, 0x01, 0x51, 0xA5, 0x85, 0x01, 0x53,
|
||||||
|
0x01, 0x4D, 0x14, 0x84, 0x01, 0x52, 0x2E, 0x85, 0x00, 0x00, 0x2C, 0x85, 0x01, 0x58, 0x14, 0x84,
|
||||||
|
0x01, 0x56, 0x01, 0x4E, 0xA3, 0x85, 0x01, 0x4F, 0x01, 0x50, 0x13, 0x84, 0x01, 0x50, 0x01, 0x52,
|
||||||
|
0x2F, 0x85, 0x00, 0x00, 0x2D, 0x85, 0x01, 0x52, 0x15, 0x84, 0x01, 0x5D, 0x01, 0x53, 0x31, 0x85,
|
||||||
|
0x01, 0x0D, 0x3C, 0x4B, 0x01, 0x06, 0x30, 0x85, 0x01, 0x4E, 0x01, 0x59, 0x14, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x57, 0x30, 0x85, 0x00, 0x00, 0x2E, 0x85, 0x01, 0x52, 0x01, 0x50, 0x14, 0x84, 0x01, 0x50,
|
||||||
|
0x01, 0x4F, 0x2F, 0x85, 0x00, 0x03, 0x28, 0x4B, 0x6C, 0x00, 0x3A, 0x0E, 0x00, 0x03, 0x71, 0x4B,
|
||||||
|
0x28, 0x00, 0x2D, 0x85, 0x01, 0x53, 0x01, 0x58, 0x15, 0x84, 0x01, 0x59, 0x01, 0x57, 0x31, 0x85,
|
||||||
|
0x00, 0x00, 0x2F, 0x85, 0x01, 0x57, 0x01, 0x50, 0x15, 0x84, 0x01, 0x56, 0x01, 0x52, 0x2D, 0x85,
|
||||||
|
0x00, 0x03, 0x00, 0x4B, 0x43, 0x00, 0x3A, 0x0A, 0x00, 0x03, 0x43, 0x4B, 0x4A, 0x00, 0x2B, 0x85,
|
||||||
|
0x00, 0x03, 0x51, 0x4F, 0x50, 0x00, 0x15, 0x84, 0x01, 0x4D, 0x01, 0x51, 0x32, 0x85, 0x00, 0x00,
|
||||||
|
0x30, 0x85, 0x01, 0x51, 0x01, 0x59, 0x16, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x2B, 0x85, 0x00, 0x04,
|
||||||
|
0x28, 0x4B, 0x62, 0x30, 0x05, 0x4C, 0x01, 0x2E, 0x01, 0x30, 0x18, 0x4C, 0x01, 0x2E, 0x01, 0x04,
|
||||||
|
0x04, 0x4C, 0x01, 0x39, 0x01, 0x04, 0x07, 0x4C, 0x01, 0x04, 0x01, 0x2E, 0x09, 0x4C, 0x00, 0x03,
|
||||||
|
0x30, 0x3F, 0x4A, 0x00, 0x2A, 0x85, 0x01, 0x52, 0x01, 0x50, 0x16, 0x84, 0x01, 0x5A, 0x34, 0x85,
|
||||||
|
0x00, 0x00, 0x32, 0x85, 0x01, 0x5A, 0x17, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x29, 0x85, 0x00, 0x05,
|
||||||
|
0x19, 0x4B, 0x2A, 0x30, 0x78, 0x00, 0x04, 0x15, 0x00, 0x03, 0x4A, 0x4C, 0x75, 0x00, 0x17, 0x15,
|
||||||
|
0x00, 0x09, 0x01, 0x78, 0x0D, 0x15, 0x15, 0x15, 0x12, 0x39, 0x06, 0x00, 0x05, 0x15, 0x00, 0x03,
|
||||||
|
0x21, 0x2E, 0x78, 0x00, 0x08, 0x15, 0x00, 0x04, 0x0A, 0x30, 0x75, 0x06, 0x28, 0x85, 0x01, 0x52,
|
||||||
|
0x01, 0x56, 0x16, 0x84, 0x01, 0x50, 0x01, 0x5C, 0x35, 0x85, 0x00, 0x00, 0x33, 0x85, 0x01, 0x5C,
|
||||||
|
0x01, 0x50, 0x17, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x28, 0x85, 0x00, 0x0F, 0x3B, 0x75, 0x30, 0x2A,
|
||||||
|
0x62, 0x30, 0x30, 0x32, 0x15, 0x15, 0x23, 0x30, 0x30, 0x30, 0x02, 0x00, 0x0E, 0x30, 0x00, 0x22,
|
||||||
|
0x1C, 0x04, 0x30, 0x30, 0x3A, 0x15, 0x15, 0x23, 0x30, 0x30, 0x30, 0x4C, 0x2A, 0x02, 0x30, 0x23,
|
||||||
|
0x30, 0x02, 0x30, 0x2E, 0x2E, 0x12, 0x30, 0x30, 0x30, 0x32, 0x32, 0x30, 0x02, 0x30, 0x31, 0x30,
|
||||||
|
0x4B, 0x15, 0x26, 0x85, 0x01, 0x52, 0x01, 0x56, 0x17, 0x84, 0x01, 0x59, 0x01, 0x53, 0x36, 0x85,
|
||||||
|
0x00, 0x00, 0x34, 0x85, 0x01, 0x53, 0x01, 0x59, 0x18, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x26, 0x85,
|
||||||
|
0x00, 0x3F, 0x37, 0x4B, 0x04, 0x04, 0x39, 0x30, 0x30, 0x30, 0x32, 0x3D, 0x3D, 0x1C, 0x30, 0x04,
|
||||||
|
0x1C, 0x04, 0x30, 0x30, 0x04, 0x30, 0x32, 0x30, 0x30, 0x32, 0x30, 0x32, 0x30, 0x32, 0x3A, 0x30,
|
||||||
|
0x44, 0x30, 0x32, 0x30, 0x44, 0x44, 0x42, 0x30, 0x30, 0x30, 0x4C, 0x2E, 0x3F, 0x4C, 0x3F, 0x30,
|
||||||
|
0x7A, 0x4C, 0x7A, 0x30, 0x12, 0x30, 0x32, 0x30, 0x32, 0x32, 0x30, 0x02, 0x30, 0x4C, 0x02, 0x4B,
|
||||||
|
0x1E, 0x00, 0x23, 0x85, 0x00, 0x03, 0x51, 0x5E, 0x56, 0x00, 0x18, 0x84, 0x01, 0x5A, 0x38, 0x85,
|
||||||
|
0x00, 0x00, 0x36, 0x85, 0x01, 0x4F, 0x19, 0x84, 0x01, 0x56, 0x01, 0x52, 0x25, 0x85, 0x00, 0x23,
|
||||||
|
0x71, 0x4C, 0x30, 0x2A, 0x30, 0x30, 0x1C, 0x02, 0x2E, 0x32, 0x42, 0x3A, 0x1C, 0x1C, 0x1C, 0x04,
|
||||||
|
0x3A, 0x1C, 0x32, 0x1C, 0x32, 0x30, 0x32, 0x42, 0x1C, 0x42, 0x3A, 0x04, 0x30, 0x1C, 0x32, 0x1C,
|
||||||
|
0x32, 0x30, 0x04, 0x00, 0x04, 0x30, 0x00, 0x17, 0x4C, 0x4C, 0x15, 0x15, 0x23, 0x02, 0x3D, 0x15,
|
||||||
|
0x0A, 0x30, 0x3B, 0x30, 0x02, 0x30, 0x32, 0x3A, 0x30, 0x02, 0x30, 0x31, 0x31, 0x4B, 0x03, 0x00,
|
||||||
|
0x21, 0x85, 0x00, 0x03, 0x53, 0x4F, 0x50, 0x00, 0x18, 0x84, 0x01, 0x50, 0x01, 0x4E, 0x39, 0x85,
|
||||||
|
0x00, 0x00, 0x37, 0x85, 0x01, 0x57, 0x01, 0x59, 0x19, 0x84, 0x00, 0x03, 0x50, 0x5A, 0x53, 0x00,
|
||||||
|
0x22, 0x85, 0x00, 0x3D, 0x0D, 0x6C, 0x30, 0x39, 0x30, 0x30, 0x30, 0x02, 0x44, 0x30, 0x04, 0x3A,
|
||||||
|
0x42, 0x1C, 0x30, 0x04, 0x3A, 0x32, 0x1C, 0x3A, 0x44, 0x30, 0x04, 0x1C, 0x32, 0x1C, 0x1C, 0x44,
|
||||||
|
0x30, 0x32, 0x1C, 0x32, 0x1C, 0x3A, 0x44, 0x30, 0x42, 0x30, 0x30, 0x4C, 0x4C, 0x44, 0x32, 0x27,
|
||||||
|
0x32, 0x27, 0x32, 0x49, 0x30, 0x12, 0x30, 0x27, 0x30, 0x44, 0x30, 0x32, 0x04, 0x30, 0x4C, 0x4C,
|
||||||
|
0x71, 0x00, 0x20, 0x85, 0x01, 0x4E, 0x01, 0x58, 0x1A, 0x84, 0x01, 0x5D, 0x01, 0x51, 0x3A, 0x85,
|
||||||
|
0x00, 0x00, 0x39, 0x85, 0x01, 0x4F, 0x1B, 0x84, 0x01, 0x5D, 0x01, 0x5C, 0x20, 0x85, 0x00, 0x3D,
|
||||||
|
0x1E, 0x4B, 0x02, 0x04, 0x31, 0x30, 0x02, 0x1C, 0x02, 0x04, 0x32, 0x23, 0x1C, 0x2E, 0x30, 0x44,
|
||||||
|
0x02, 0x32, 0x23, 0x30, 0x27, 0x04, 0x32, 0x02, 0x32, 0x31, 0x1C, 0x27, 0x32, 0x32, 0x2E, 0x32,
|
||||||
|
0x3D, 0x30, 0x23, 0x32, 0x1C, 0x30, 0x30, 0x4C, 0x4C, 0x04, 0x30, 0x3D, 0x30, 0x3D, 0x30, 0x39,
|
||||||
|
0x30, 0x4C, 0x30, 0x3D, 0x30, 0x1F, 0x30, 0x02, 0x04, 0x62, 0x31, 0x3F, 0x4A, 0x00, 0x1D, 0x85,
|
||||||
|
0x00, 0x03, 0x51, 0x5E, 0x56, 0x00, 0x1A, 0x84, 0x01, 0x50, 0x01, 0x5C, 0x3C, 0x85, 0x00, 0x00,
|
||||||
|
0x3A, 0x85, 0x01, 0x57, 0x01, 0x4D, 0x1B, 0x84, 0x00, 0x03, 0x56, 0x5A, 0x57, 0x00, 0x1E, 0x85,
|
||||||
|
0x00, 0x3C, 0x48, 0x7A, 0x30, 0x12, 0x04, 0x4C, 0x04, 0x04, 0x31, 0x2E, 0x23, 0x04, 0x23, 0x04,
|
||||||
|
0x04, 0x23, 0x04, 0x23, 0x73, 0x39, 0x02, 0x04, 0x23, 0x04, 0x73, 0x04, 0x02, 0x02, 0x3D, 0x12,
|
||||||
|
0x04, 0x73, 0x04, 0x02, 0x02, 0x04, 0x04, 0x04, 0x47, 0x4C, 0x27, 0x04, 0x39, 0x04, 0x39, 0x04,
|
||||||
|
0x39, 0x30, 0x62, 0x30, 0x2E, 0x30, 0x2E, 0x30, 0x04, 0x04, 0x04, 0x62, 0x75, 0x06, 0x1B, 0x85,
|
||||||
|
0x01, 0x5C, 0x01, 0x58, 0x1C, 0x84, 0x01, 0x5A, 0x01, 0x51, 0x3D, 0x85, 0x00, 0x00, 0x3C, 0x85,
|
||||||
|
0x01, 0x5E, 0x01, 0x50, 0x1C, 0x84, 0x00, 0x03, 0x59, 0x5E, 0x53, 0x00, 0x1B, 0x85, 0x00, 0x2F,
|
||||||
|
0x06, 0x71, 0x2E, 0x0D, 0x62, 0x1F, 0x2A, 0x2E, 0x31, 0x47, 0x62, 0x3B, 0x62, 0x73, 0x02, 0x62,
|
||||||
|
0x12, 0x62, 0x47, 0x3B, 0x62, 0x47, 0x62, 0x1F, 0x73, 0x62, 0x3B, 0x62, 0x49, 0x7A, 0x62, 0x47,
|
||||||
|
0x62, 0x1F, 0x1F, 0x62, 0x47, 0x62, 0x7A, 0x7A, 0x2E, 0x44, 0x4C, 0x62, 0x12, 0x62, 0x7A, 0x00,
|
||||||
|
0x0B, 0x2E, 0x01, 0x4B, 0x01, 0x15, 0x18, 0x85, 0x00, 0x03, 0x57, 0x5A, 0x56, 0x00, 0x1C, 0x84,
|
||||||
|
0x01, 0x59, 0x01, 0x4E, 0x3F, 0x85, 0x00, 0x00, 0x3D, 0x85, 0x01, 0x51, 0x01, 0x58, 0x1E, 0x84,
|
||||||
|
0x00, 0x03, 0x59, 0x5E, 0x53, 0x00, 0x18, 0x85, 0x01, 0x19, 0x01, 0x4A, 0x38, 0x4B, 0x01, 0x3B,
|
||||||
|
0x01, 0x19, 0x15, 0x85, 0x00, 0x03, 0x57, 0x5A, 0x56, 0x00, 0x1D, 0x84, 0x01, 0x50, 0x01, 0x5E,
|
||||||
|
0x41, 0x85, 0x00, 0x00, 0x3F, 0x85, 0x01, 0x57, 0x01, 0x4D, 0x1F, 0x84, 0x00, 0x03, 0x59, 0x4F,
|
||||||
|
0x57, 0x00, 0x18, 0x85, 0x00, 0x2C, 0x02, 0x00, 0x49, 0x36, 0x03, 0x03, 0x15, 0x00, 0x15, 0x06,
|
||||||
|
0x00, 0x49, 0x49, 0x49, 0x4B, 0x47, 0x49, 0x78, 0x47, 0x78, 0x78, 0x7A, 0x78, 0x7A, 0x78, 0x47,
|
||||||
|
0x2A, 0x78, 0x47, 0x78, 0x7A, 0x7A, 0x78, 0x47, 0x78, 0x47, 0x46, 0x12, 0x06, 0x00, 0x06, 0x49,
|
||||||
|
0x06, 0x37, 0x0B, 0x03, 0x01, 0x19, 0x13, 0x85, 0x00, 0x03, 0x5C, 0x5A, 0x56, 0x00, 0x1F, 0x84,
|
||||||
|
0x01, 0x5A, 0x01, 0x51, 0x42, 0x85, 0x00, 0x00, 0x41, 0x85, 0x01, 0x4E, 0x01, 0x56, 0x20, 0x84,
|
||||||
|
0x00, 0x04, 0x56, 0x58, 0x5C, 0x51, 0x17, 0x85, 0x0A, 0x2D, 0x01, 0x00, 0x01, 0x46, 0x15, 0x49,
|
||||||
|
0x00, 0x03, 0x18, 0x0D, 0x23, 0x00, 0x09, 0x2D, 0x01, 0x19, 0x16, 0x85, 0x00, 0x03, 0x53, 0x5E,
|
||||||
|
0x5D, 0x00, 0x21, 0x84, 0x01, 0x58, 0x01, 0x53, 0x44, 0x85, 0x00, 0x00, 0x43, 0x85, 0x01, 0x52,
|
||||||
|
0x01, 0x56, 0x22, 0x84, 0x00, 0x04, 0x59, 0x5A, 0x5C, 0x51, 0x12, 0x85, 0x01, 0x48, 0x2D, 0x22,
|
||||||
|
0x01, 0x46, 0x12, 0x85, 0x00, 0x04, 0x53, 0x52, 0x58, 0x56, 0x22, 0x84, 0x01, 0x4D, 0x01, 0x4E,
|
||||||
|
0x46, 0x85, 0x00, 0x00, 0x45, 0x85, 0x01, 0x52, 0x01, 0x56, 0x24, 0x84, 0x00, 0x04, 0x59, 0x5A,
|
||||||
|
0x52, 0x53, 0x0E, 0x85, 0x01, 0x22, 0x01, 0x39, 0x2B, 0x30, 0x00, 0x04, 0x44, 0x22, 0x00, 0x19,
|
||||||
|
0x0C, 0x85, 0x00, 0x04, 0x57, 0x5E, 0x58, 0x56, 0x24, 0x84, 0x01, 0x4D, 0x01, 0x4E, 0x48, 0x85,
|
||||||
|
0x00, 0x00, 0x47, 0x85, 0x01, 0x52, 0x01, 0x56, 0x26, 0x84, 0x00, 0x05, 0x50, 0x4D, 0x4F, 0x5C,
|
||||||
|
0x53, 0x00, 0x09, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x7B, 0x00, 0x29, 0x54, 0x00, 0x05, 0x7B, 0x30,
|
||||||
|
0x22, 0x00, 0x05, 0x00, 0x07, 0x85, 0x00, 0x04, 0x57, 0x52, 0x5A, 0x4D, 0x27, 0x84, 0x01, 0x4D,
|
||||||
|
0x01, 0x4E, 0x4A, 0x85, 0x00, 0x00, 0x49, 0x85, 0x01, 0x52, 0x01, 0x59, 0x2A, 0x84, 0x00, 0x0B,
|
||||||
|
0x4D, 0x58, 0x4F, 0x4E, 0x53, 0x85, 0x85, 0x85, 0x22, 0x1F, 0x54, 0x00, 0x29, 0x81, 0x00, 0x0B,
|
||||||
|
0x54, 0x30, 0x22, 0x15, 0x36, 0x85, 0x4E, 0x5C, 0x4F, 0x5D, 0x59, 0x00, 0x2A, 0x84, 0x01, 0x58,
|
||||||
|
0x01, 0x57, 0x4C, 0x85, 0x00, 0x00, 0x4B, 0x85, 0x01, 0x4E, 0x01, 0x5D, 0x2E, 0x84, 0x00, 0x05,
|
||||||
|
0x59, 0x4D, 0x22, 0x1F, 0x54, 0x00, 0x29, 0x81, 0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x3C,
|
||||||
|
0x2C, 0x84, 0x00, 0x03, 0x50, 0x5A, 0x53, 0x00, 0x4E, 0x85, 0x00, 0x00, 0x4D, 0x85, 0x00, 0x03,
|
||||||
|
0x53, 0x5A, 0x50, 0x00, 0x2D, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x25,
|
||||||
|
0x07, 0x17, 0x01, 0x08, 0x01, 0x66, 0x11, 0x81, 0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x3C,
|
||||||
|
0x2A, 0x84, 0x00, 0x03, 0x56, 0x52, 0x51, 0x00, 0x50, 0x85, 0x00, 0x00, 0x50, 0x85, 0x01, 0x52,
|
||||||
|
0x01, 0x4D, 0x2B, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08, 0x09, 0x85,
|
||||||
|
0x01, 0x5F, 0x01, 0x66, 0x0F, 0x81, 0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x41, 0x28, 0x84,
|
||||||
|
0x01, 0x58, 0x01, 0x4E, 0x53, 0x85, 0x00, 0x00, 0x52, 0x85, 0x00, 0x03, 0x53, 0x5A, 0x56, 0x00,
|
||||||
|
0x28, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08, 0x0A, 0x85, 0x01, 0x65,
|
||||||
|
0x01, 0x25, 0x0E, 0x81, 0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x41, 0x25, 0x84, 0x00, 0x03,
|
||||||
|
0x59, 0x5E, 0x51, 0x00, 0x55, 0x85, 0x00, 0x00, 0x55, 0x85, 0x00, 0x03, 0x5C, 0x58, 0x50, 0x00,
|
||||||
|
0x25, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x08, 0x08, 0x85, 0x85, 0x85,
|
||||||
|
0x76, 0x17, 0x17, 0x13, 0x04, 0x85, 0x01, 0x5F, 0x0E, 0x81, 0x00, 0x06, 0x54, 0x30, 0x22, 0x2F,
|
||||||
|
0x29, 0x29, 0x22, 0x84, 0x00, 0x03, 0x56, 0x5A, 0x53, 0x00, 0x58, 0x85, 0x00, 0x00, 0x58, 0x85,
|
||||||
|
0x01, 0x52, 0x01, 0x5D, 0x23, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x09,
|
||||||
|
0x08, 0x85, 0x85, 0x85, 0x5F, 0x81, 0x81, 0x81, 0x17, 0x00, 0x04, 0x85, 0x01, 0x25, 0x0D, 0x81,
|
||||||
|
0x00, 0x06, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x1F, 0x84, 0x00, 0x03, 0x56, 0x5A, 0x57, 0x00,
|
||||||
|
0x5B, 0x85, 0x00, 0x00, 0x5A, 0x85, 0x00, 0x04, 0x51, 0x5C, 0x58, 0x50, 0x1F, 0x84, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x05, 0x08, 0x85, 0x85, 0x85, 0x5F, 0x00, 0x04, 0x81,
|
||||||
|
0x04, 0x85, 0x01, 0x08, 0x0D, 0x81, 0x00, 0x07, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x3C, 0x00,
|
||||||
|
0x1B, 0x84, 0x00, 0x03, 0x56, 0x5A, 0x57, 0x00, 0x5E, 0x85, 0x00, 0x00, 0x5E, 0x85, 0x00, 0x03,
|
||||||
|
0x4E, 0x5A, 0x59, 0x00, 0x1C, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x05,
|
||||||
|
0x08, 0x85, 0x85, 0x85, 0x5F, 0x00, 0x04, 0x81, 0x00, 0x05, 0x5F, 0x85, 0x85, 0x85, 0x08, 0x00,
|
||||||
|
0x0D, 0x81, 0x00, 0x07, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x41, 0x00, 0x18, 0x84, 0x00, 0x03,
|
||||||
|
0x4D, 0x5E, 0x53, 0x00, 0x61, 0x85, 0x00, 0x00, 0x61, 0x85, 0x00, 0x04, 0x53, 0x52, 0x58, 0x50,
|
||||||
|
0x18, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x05, 0x08, 0x85, 0x85, 0x85,
|
||||||
|
0x5F, 0x00, 0x04, 0x81, 0x04, 0x85, 0x01, 0x08, 0x0D, 0x81, 0x00, 0x07, 0x54, 0x30, 0x22, 0x2F,
|
||||||
|
0x29, 0x29, 0x41, 0x00, 0x14, 0x84, 0x00, 0x04, 0x59, 0x5A, 0x5C, 0x51, 0x64, 0x85, 0x00, 0x00,
|
||||||
|
0x65, 0x85, 0x00, 0x04, 0x57, 0x5E, 0x5D, 0x56, 0x14, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00,
|
||||||
|
0x0E, 0x81, 0x00, 0x0E, 0x08, 0x85, 0x85, 0x85, 0x5F, 0x81, 0x81, 0x81, 0x13, 0x85, 0x85, 0x85,
|
||||||
|
0x65, 0x66, 0x0D, 0x81, 0x00, 0x07, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x00, 0x10, 0x84,
|
||||||
|
0x00, 0x04, 0x59, 0x5A, 0x5C, 0x53, 0x68, 0x85, 0x00, 0x00, 0x69, 0x85, 0x00, 0x04, 0x53, 0x52,
|
||||||
|
0x5A, 0x4D, 0x10, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x08, 0x08, 0x85,
|
||||||
|
0x85, 0x85, 0x76, 0x17, 0x13, 0x72, 0x04, 0x85, 0x01, 0x17, 0x0E, 0x81, 0x00, 0x07, 0x54, 0x30,
|
||||||
|
0x22, 0x2F, 0x29, 0x29, 0x29, 0x00, 0x0B, 0x84, 0x00, 0x05, 0x50, 0x4D, 0x4F, 0x4E, 0x51, 0x00,
|
||||||
|
0x6C, 0x85, 0x00, 0x00, 0x6E, 0x85, 0x00, 0x05, 0x57, 0x52, 0x5A, 0x4D, 0x50, 0x00, 0x0A, 0x84,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08, 0x0A, 0x85, 0x01, 0x13, 0x0F, 0x81,
|
||||||
|
0x00, 0x08, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x3C, 0x05, 0x84, 0x00, 0x05, 0x56, 0x4D,
|
||||||
|
0x4F, 0x5C, 0x53, 0x00, 0x71, 0x85, 0x00, 0x00, 0x73, 0x85, 0x00, 0x06, 0x53, 0x4E, 0x5E, 0x5A,
|
||||||
|
0x4D, 0x56, 0x04, 0x84, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08, 0x09, 0x85,
|
||||||
|
0x01, 0x17, 0x10, 0x81, 0x00, 0x0C, 0x54, 0x30, 0x22, 0x2F, 0x29, 0x29, 0x29, 0x7F, 0x4D, 0x4F,
|
||||||
|
0x52, 0x4E, 0x77, 0x85, 0x00, 0x00, 0x7A, 0x85, 0x00, 0x06, 0x57, 0x4E, 0x5E, 0x22, 0x1F, 0x54,
|
||||||
|
0x0E, 0x81, 0x00, 0x0C, 0x08, 0x85, 0x85, 0x85, 0x5F, 0x81, 0x66, 0x17, 0x85, 0x85, 0x85, 0x17,
|
||||||
|
0x0F, 0x81, 0x00, 0x08, 0x54, 0x30, 0x22, 0x33, 0x3E, 0x2D, 0x36, 0x03, 0x7B, 0x85, 0x00, 0x00,
|
||||||
|
0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x0C, 0x08, 0x85, 0x85, 0x85,
|
||||||
|
0x5F, 0x81, 0x81, 0x81, 0x85, 0x85, 0x85, 0x65, 0x0F, 0x81, 0x00, 0x08, 0x54, 0x30, 0x22, 0x00,
|
||||||
|
0x36, 0x36, 0x36, 0x05, 0x7B, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00,
|
||||||
|
0x0E, 0x81, 0x00, 0x08, 0x08, 0x85, 0x85, 0x85, 0x5F, 0x81, 0x81, 0x66, 0x04, 0x85, 0x0F, 0x81,
|
||||||
|
0x00, 0x04, 0x54, 0x30, 0x22, 0x15, 0x04, 0x36, 0x7B, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03,
|
||||||
|
0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x00, 0x08, 0x08, 0x85, 0x85, 0x85, 0x72, 0x08, 0x08, 0x5F,
|
||||||
|
0x04, 0x85, 0x0F, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x00, 0x04, 0x36, 0x01, 0x35, 0x7A, 0x85,
|
||||||
|
0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08, 0x0A, 0x85,
|
||||||
|
0x01, 0x5F, 0x0F, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x00, 0x04, 0x36, 0x01, 0x19, 0x7A, 0x85,
|
||||||
|
0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x08, 0x09, 0x85,
|
||||||
|
0x01, 0x72, 0x01, 0x66, 0x0F, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x15, 0x04, 0x36, 0x01, 0x03,
|
||||||
|
0x7A, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x0E, 0x81, 0x01, 0x25,
|
||||||
|
0x07, 0x17, 0x01, 0x08, 0x01, 0x25, 0x11, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x00, 0x04, 0x36,
|
||||||
|
0x01, 0x03, 0x7A, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x29, 0x81,
|
||||||
|
0x00, 0x04, 0x54, 0x30, 0x22, 0x00, 0x04, 0x36, 0x01, 0x05, 0x7A, 0x85, 0x00, 0x00, 0x7D, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x04, 0x81, 0x00, 0x21, 0x25, 0x08, 0x08, 0x66, 0x81, 0x81,
|
||||||
|
0x08, 0x25, 0x81, 0x08, 0x66, 0x81, 0x81, 0x08, 0x25, 0x81, 0x08, 0x25, 0x81, 0x25, 0x08, 0x66,
|
||||||
|
0x81, 0x66, 0x08, 0x25, 0x81, 0x81, 0x08, 0x66, 0x81, 0x81, 0x08, 0x00, 0x04, 0x81, 0x00, 0x04,
|
||||||
|
0x54, 0x30, 0x22, 0x15, 0x05, 0x36, 0x7A, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x54, 0x00, 0x04, 0x81, 0x00, 0x21, 0x85, 0x85, 0x85, 0x65, 0x08, 0x81, 0x85, 0x5F, 0x81, 0x65,
|
||||||
|
0x13, 0x81, 0x25, 0x85, 0x13, 0x81, 0x85, 0x17, 0x81, 0x17, 0x85, 0x08, 0x08, 0x65, 0x76, 0x85,
|
||||||
|
0x13, 0x81, 0x85, 0x08, 0x81, 0x13, 0x85, 0x00, 0x04, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x00,
|
||||||
|
0x05, 0x36, 0x01, 0x19, 0x79, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00,
|
||||||
|
0x04, 0x81, 0x00, 0x21, 0x25, 0x81, 0x25, 0x85, 0x5F, 0x81, 0x85, 0x5F, 0x81, 0x13, 0x65, 0x5F,
|
||||||
|
0x76, 0x85, 0x25, 0x81, 0x85, 0x17, 0x81, 0x17, 0x85, 0x08, 0x72, 0x76, 0x81, 0x17, 0x85, 0x08,
|
||||||
|
0x85, 0x08, 0x08, 0x85, 0x85, 0x00, 0x04, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x0C, 0x05, 0x05,
|
||||||
|
0x01, 0x35, 0x79, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x04, 0x81,
|
||||||
|
0x00, 0x21, 0x66, 0x13, 0x65, 0x85, 0x17, 0x81, 0x85, 0x5F, 0x81, 0x25, 0x85, 0x17, 0x65, 0x72,
|
||||||
|
0x81, 0x81, 0x85, 0x17, 0x81, 0x17, 0x85, 0x08, 0x85, 0x5F, 0x81, 0x08, 0x85, 0x17, 0x85, 0x13,
|
||||||
|
0x85, 0x65, 0x85, 0x00, 0x04, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x2D, 0x7F, 0x85, 0x00, 0x00,
|
||||||
|
0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x04, 0x81, 0x00, 0x21, 0x13, 0x85, 0x5F, 0x08,
|
||||||
|
0x81, 0x81, 0x85, 0x5F, 0x81, 0x81, 0x76, 0x72, 0x85, 0x08, 0x81, 0x81, 0x85, 0x17, 0x81, 0x17,
|
||||||
|
0x85, 0x08, 0x65, 0x5F, 0x81, 0x08, 0x85, 0x17, 0x85, 0x85, 0x72, 0x08, 0x85, 0x00, 0x04, 0x81,
|
||||||
|
0x00, 0x04, 0x54, 0x30, 0x22, 0x2D, 0x7F, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F,
|
||||||
|
0x54, 0x00, 0x04, 0x81, 0x00, 0x21, 0x5F, 0x85, 0x08, 0x17, 0x25, 0x08, 0x85, 0x72, 0x08, 0x81,
|
||||||
|
0x17, 0x85, 0x85, 0x66, 0x25, 0x08, 0x85, 0x13, 0x08, 0x17, 0x85, 0x08, 0x13, 0x65, 0x08, 0x5F,
|
||||||
|
0x85, 0x25, 0x85, 0x65, 0x25, 0x08, 0x85, 0x00, 0x04, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x2D,
|
||||||
|
0x7F, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x04, 0x81, 0x00, 0x05,
|
||||||
|
0x25, 0x5F, 0x5F, 0x5F, 0x08, 0x00, 0x04, 0x5F, 0x00, 0x06, 0x81, 0x25, 0x5F, 0x17, 0x81, 0x08,
|
||||||
|
0x04, 0x5F, 0x00, 0x0E, 0x08, 0x5F, 0x25, 0x66, 0x13, 0x5F, 0x5F, 0x08, 0x81, 0x5F, 0x25, 0x81,
|
||||||
|
0x25, 0x5F, 0x04, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x2D, 0x7F, 0x85, 0x00, 0x00, 0x7D, 0x85,
|
||||||
|
0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x29, 0x81, 0x00, 0x04, 0x54, 0x30, 0x22, 0x2D, 0x7F, 0x85,
|
||||||
|
0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x54, 0x00, 0x29, 0x81, 0x00, 0x04, 0x54, 0x30,
|
||||||
|
0x22, 0x2D, 0x7F, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x00, 0x03, 0x22, 0x1F, 0x44, 0x00, 0x29, 0x1F,
|
||||||
|
0x00, 0x04, 0x44, 0x30, 0x22, 0x2D, 0x7F, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x01, 0x22, 0x01, 0x01,
|
||||||
|
0x2B, 0x1F, 0x00, 0x03, 0x3F, 0x22, 0x03, 0x00, 0x7F, 0x85, 0x00, 0x00, 0x7D, 0x85, 0x01, 0x15,
|
||||||
|
0x01, 0x45, 0x2C, 0x22, 0x01, 0x21, 0x80, 0x85, 0x00, 0x00, 0xFF, 0x85, 0x2D, 0x85, 0x00, 0x00,
|
||||||
|
0xFF, 0x85, 0x2D, 0x85, 0x00, 0x00, 0xFF, 0x85, 0x2D, 0x85, 0x00, 0x01,
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef ROMFS_DIRENTRY_HEAD
|
||||||
|
static const ROMFS_DIRENTRY token_w_dir = { 0, 0, ROMFS_DIRENTRY_HEAD, "token_w.bmp", 14620, token_w };
|
||||||
|
#undef ROMFS_DIRENTRY_HEAD
|
||||||
|
#define ROMFS_DIRENTRY_HEAD &token_w_dir
|
||||||
|
#endif
|
52
resources_manager.c
Normal file
52
resources_manager.c
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#include "resources_manager.h"
|
||||||
|
|
||||||
|
typedef struct ImageInfo {
|
||||||
|
gdispImage* pointer;
|
||||||
|
const char* filePath;
|
||||||
|
} ImageInfo;
|
||||||
|
|
||||||
|
gdispImage imgtoken;
|
||||||
|
gdispImage imgtoken_w;
|
||||||
|
|
||||||
|
static ImageInfo _imagesArray[2];
|
||||||
|
static font_t _fontsArray[2];
|
||||||
|
|
||||||
|
bool_t guiResourcesManagerInit(void)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
// Fill images array
|
||||||
|
_imagesArray[0].pointer = &imgtoken;
|
||||||
|
_imagesArray[0].filePath = "token.bmp";
|
||||||
|
_imagesArray[1].pointer = &imgtoken_w;
|
||||||
|
_imagesArray[1].filePath = "token_w.bmp";
|
||||||
|
|
||||||
|
// Open images
|
||||||
|
for (i = 0; i < 2; i++) {
|
||||||
|
gdispImageOpenFile(gstudioGetImage(i), gstudioGetImageFilePath(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cache images
|
||||||
|
|
||||||
|
// Open fonts
|
||||||
|
_fontsArray[0] = gdispOpenFont("arial_12_arial12_aa");
|
||||||
|
_fontsArray[1] = gdispOpenFont("arial__14_arial14_aa");
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
GFXINLINE gdispImage* gstudioGetImage(int imageIndex)
|
||||||
|
{
|
||||||
|
return _imagesArray[imageIndex].pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
GFXINLINE const char* gstudioGetImageFilePath(int imageIndex)
|
||||||
|
{
|
||||||
|
return _imagesArray[imageIndex].filePath;
|
||||||
|
}
|
||||||
|
|
||||||
|
GFXINLINE font_t gstudioGetFont(int fontIndex)
|
||||||
|
{
|
||||||
|
return _fontsArray[fontIndex];
|
||||||
|
}
|
||||||
|
|
27
resources_manager.h
Normal file
27
resources_manager.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#ifndef _RESOURCES_MANAGER_H
|
||||||
|
#define _RESOURCES_MANAGER_H
|
||||||
|
|
||||||
|
#include "gfx.h"
|
||||||
|
|
||||||
|
// Image indexes
|
||||||
|
#define token 0
|
||||||
|
#define token_w 1
|
||||||
|
|
||||||
|
// Font indexes
|
||||||
|
#define arial_12 0
|
||||||
|
#define arial__14 1
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bool_t guiResourcesManagerInit(void);
|
||||||
|
gdispImage* gstudioGetImage(int imageIndex);
|
||||||
|
const char* gstudioGetImageFilePath(int imageIndex);
|
||||||
|
font_t gstudioGetFont(int fontIndex);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // _RESOURCES_MANAGER_H
|
7
romfs_files.h
Normal file
7
romfs_files.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#ifndef _ROMFS_FILES_H
|
||||||
|
#define _ROMFS_FILES_H
|
||||||
|
|
||||||
|
#include "resources/token.h"
|
||||||
|
#include "resources/token_w.h"
|
||||||
|
|
||||||
|
#endif // _ROMFS_FILES_H
|
143
sai.c
Normal file
143
sai.c
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* File Name : SAI.c
|
||||||
|
* Description : This file provides code for the configuration
|
||||||
|
* of the SAI instances.
|
||||||
|
******************************************************************************
|
||||||
|
** This notice applies to any and all portions of this file
|
||||||
|
* that are not between comment pairs USER CODE BEGIN and
|
||||||
|
* USER CODE END. Other portions of this file, whether
|
||||||
|
* inserted by the user or by software development tools
|
||||||
|
* are owned by their respective copyright owners.
|
||||||
|
*
|
||||||
|
* COPYRIGHT(c) 2018 STMicroelectronics
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include "sai.h"
|
||||||
|
|
||||||
|
|
||||||
|
/* USER CODE BEGIN 0 */
|
||||||
|
|
||||||
|
/* USER CODE END 0 */
|
||||||
|
|
||||||
|
SAI_HandleTypeDef hsai_BlockA2;
|
||||||
|
|
||||||
|
/* SAI2 init function */
|
||||||
|
void MX_SAI2_Init(void)
|
||||||
|
{
|
||||||
|
|
||||||
|
hsai_BlockA2.Instance = SAI2_Block_A;
|
||||||
|
hsai_BlockA2.Init.AudioMode = SAI_MODEMASTER_TX;
|
||||||
|
hsai_BlockA2.Init.Synchro = SAI_ASYNCHRONOUS;
|
||||||
|
hsai_BlockA2.Init.OutputDrive = SAI_OUTPUTDRIVE_DISABLE;
|
||||||
|
hsai_BlockA2.Init.NoDivider = SAI_MASTERDIVIDER_ENABLE;
|
||||||
|
hsai_BlockA2.Init.FIFOThreshold = SAI_FIFOTHRESHOLD_EMPTY;
|
||||||
|
hsai_BlockA2.Init.AudioFrequency = SAI_AUDIO_FREQUENCY_8K;
|
||||||
|
hsai_BlockA2.Init.SynchroExt = SAI_SYNCEXT_DISABLE;
|
||||||
|
hsai_BlockA2.Init.MonoStereoMode = SAI_STEREOMODE;
|
||||||
|
hsai_BlockA2.Init.CompandingMode = SAI_NOCOMPANDING;
|
||||||
|
hsai_BlockA2.Init.TriState = SAI_OUTPUT_NOTRELEASED;
|
||||||
|
if (HAL_SAI_InitProtocol(&hsai_BlockA2, SAI_I2S_STANDARD, SAI_PROTOCOL_DATASIZE_16BIT, 2) != HAL_OK)
|
||||||
|
{
|
||||||
|
for(;;){}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
static uint32_t SAI2_client =0;
|
||||||
|
|
||||||
|
void HAL_SAI_MspInit(SAI_HandleTypeDef* hsai)
|
||||||
|
{
|
||||||
|
|
||||||
|
GPIO_InitTypeDef GPIO_InitStruct;
|
||||||
|
/* SAI2 */
|
||||||
|
if(hsai->Instance==SAI2_Block_A)
|
||||||
|
{
|
||||||
|
/* SAI2 clock enable */
|
||||||
|
if (SAI2_client == 0)
|
||||||
|
{
|
||||||
|
__HAL_RCC_SAI2_CLK_ENABLE();
|
||||||
|
}
|
||||||
|
SAI2_client ++;
|
||||||
|
|
||||||
|
/**SAI2_A_Block_A GPIO Configuration
|
||||||
|
PE0 ------> SAI2_MCLK_A
|
||||||
|
PI5 ------> SAI2_SCK_A
|
||||||
|
PI7 ------> SAI2_FS_A
|
||||||
|
PI6 ------> SAI2_SD_A
|
||||||
|
*/
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_0;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF10_SAI2;
|
||||||
|
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7|GPIO_PIN_6;
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||||
|
GPIO_InitStruct.Alternate = GPIO_AF10_SAI2;
|
||||||
|
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HAL_SAI_MspDeInit(SAI_HandleTypeDef* hsai)
|
||||||
|
{
|
||||||
|
|
||||||
|
/* SAI2 */
|
||||||
|
if(hsai->Instance==SAI2_Block_A)
|
||||||
|
{
|
||||||
|
SAI2_client --;
|
||||||
|
if (SAI2_client == 0)
|
||||||
|
{
|
||||||
|
/* Peripheral clock disable */
|
||||||
|
__HAL_RCC_SAI2_CLK_DISABLE();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**SAI2_A_Block_A GPIO Configuration
|
||||||
|
PE0 ------> SAI2_MCLK_A
|
||||||
|
PI5 ------> SAI2_SCK_A
|
||||||
|
PI7 ------> SAI2_FS_A
|
||||||
|
PI6 ------> SAI2_SD_A
|
||||||
|
*/
|
||||||
|
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_0);
|
||||||
|
|
||||||
|
HAL_GPIO_DeInit(GPIOI, GPIO_PIN_5|GPIO_PIN_7|GPIO_PIN_6);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
81
sai.h
Normal file
81
sai.h
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
* File Name : SAI.h
|
||||||
|
* Description : This file provides code for the configuration
|
||||||
|
* of the SAI instances.
|
||||||
|
******************************************************************************
|
||||||
|
** This notice applies to any and all portions of this file
|
||||||
|
* that are not between comment pairs USER CODE BEGIN and
|
||||||
|
* USER CODE END. Other portions of this file, whether
|
||||||
|
* inserted by the user or by software development tools
|
||||||
|
* are owned by their respective copyright owners.
|
||||||
|
*
|
||||||
|
* COPYRIGHT(c) 2018 STMicroelectronics
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
* are permitted provided that the following conditions are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
||||||
|
#ifndef __sai_H
|
||||||
|
#define __sai_H
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
/* USER CODE BEGIN Includes */
|
||||||
|
|
||||||
|
/* USER CODE END Includes */
|
||||||
|
|
||||||
|
extern SAI_HandleTypeDef hsai_BlockA2;
|
||||||
|
|
||||||
|
/* USER CODE BEGIN Private defines */
|
||||||
|
|
||||||
|
/* USER CODE END Private defines */
|
||||||
|
|
||||||
|
extern void _Error_Handler(char *, int);
|
||||||
|
|
||||||
|
void MX_SAI2_Init(void);
|
||||||
|
|
||||||
|
/* USER CODE BEGIN Prototypes */
|
||||||
|
|
||||||
|
/* USER CODE END Prototypes */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif /*__ sai_H */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
48
time_receiver.c
Normal file
48
time_receiver.c
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file time_receiver.c
|
||||||
|
/// \brief Time receiver thread
|
||||||
|
/// \author Pascal Sartoretti (sap at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD TIME RECEIVER
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void TimeReceiver(void *argument)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
osStatus_t retCode; // return error code
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
for (;;) // loop until doomsday
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE READ
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueueGet(
|
||||||
|
queue_timeR_id,
|
||||||
|
&queueMsg,
|
||||||
|
NULL,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
queueMsg.type = TIME_MSG;
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND (send the time message on LCD)
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_lcd_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
77
time_sender.c
Normal file
77
time_sender.c
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file time_sender.c
|
||||||
|
/// \brief Time sender thread
|
||||||
|
/// \author Pascal Sartoretti (sap at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include "main.h"
|
||||||
|
#include "rtx_os.h"
|
||||||
|
extern void *osRtxMemoryAlloc(void *mem, uint32_t size, uint32_t type);
|
||||||
|
extern uint32_t osRtxMemoryFree (void *mem, void *block);
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD TIME SENDER
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void TimeSender(void *argument)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
char * stringPtr; // string to send pointer
|
||||||
|
time_t seconds; // current time in seconds
|
||||||
|
struct tm timeStr; // current time in structure
|
||||||
|
struct tm * ptrTm; // pointer to it
|
||||||
|
int32_t eventFlag; // event flag for check
|
||||||
|
osStatus_t retCode; // return code error
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// initial time and date set
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
timeStr.tm_hour = 12;
|
||||||
|
timeStr.tm_min = 00;
|
||||||
|
timeStr.tm_sec = 00;
|
||||||
|
timeStr.tm_year = 2024 - 1900; // years since 1900
|
||||||
|
timeStr.tm_mon = 5; // month (0-11) 6-> june
|
||||||
|
timeStr.tm_mday = 1;
|
||||||
|
seconds = mktime(&timeStr);
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
for (;;) // loop until doomsday
|
||||||
|
{
|
||||||
|
osDelay(1000); // wake-up each second
|
||||||
|
seconds++; // increment seconds
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// EVENT FLAG WAIT for checked box without to clear it and no wait
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
eventFlag = osEventFlagsWait(
|
||||||
|
eventFlag_id,
|
||||||
|
BROADCAST_TIME_EVT,
|
||||||
|
osFlagsWaitAny | osFlagsNoClear,
|
||||||
|
0);
|
||||||
|
|
||||||
|
if((eventFlag & BROADCAST_TIME_EVT) == BROADCAST_TIME_EVT) // want to send time ?
|
||||||
|
{
|
||||||
|
ptrTm = localtime(&seconds);
|
||||||
|
|
||||||
|
stringPtr = osMemoryPoolAlloc(memPool,osWaitForever);
|
||||||
|
queueMsg.type = DATA_IND; // prepare message
|
||||||
|
queueMsg.anyPtr = stringPtr;
|
||||||
|
queueMsg.sapi = TIME_SAPI;
|
||||||
|
queueMsg.addr = BROADCAST_ADDRESS; // of type broadcast
|
||||||
|
sprintf((char*)stringPtr," %02d:%02d:%02d ",
|
||||||
|
ptrTm->tm_hour,ptrTm->tm_min,ptrTm->tm_sec);
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_macS_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
510
tokenring_project.uvoptx
Normal file
510
tokenring_project.uvoptx
Normal file
@ -0,0 +1,510 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
|
||||||
|
|
||||||
|
<SchemaVersion>1.0</SchemaVersion>
|
||||||
|
|
||||||
|
<Header>### uVision Project, (C) Keil Software</Header>
|
||||||
|
|
||||||
|
<Extensions>
|
||||||
|
<cExt>*.c</cExt>
|
||||||
|
<aExt>*.s*; *.src; *.a*</aExt>
|
||||||
|
<oExt>*.obj; *.o</oExt>
|
||||||
|
<lExt>*.lib</lExt>
|
||||||
|
<tExt>*.txt; *.h; *.inc; *.md</tExt>
|
||||||
|
<pExt>*.plm</pExt>
|
||||||
|
<CppX>*.cpp</CppX>
|
||||||
|
<nMigrate>0</nMigrate>
|
||||||
|
</Extensions>
|
||||||
|
|
||||||
|
<DaveTm>
|
||||||
|
<dwLowDateTime>0</dwLowDateTime>
|
||||||
|
<dwHighDateTime>0</dwHighDateTime>
|
||||||
|
</DaveTm>
|
||||||
|
|
||||||
|
<Target>
|
||||||
|
<TargetName>Target 1</TargetName>
|
||||||
|
<ToolsetNumber>0x4</ToolsetNumber>
|
||||||
|
<ToolsetName>ARM-ADS</ToolsetName>
|
||||||
|
<TargetOption>
|
||||||
|
<CLKADS>12000000</CLKADS>
|
||||||
|
<OPTTT>
|
||||||
|
<gFlags>1</gFlags>
|
||||||
|
<BeepAtEnd>1</BeepAtEnd>
|
||||||
|
<RunSim>0</RunSim>
|
||||||
|
<RunTarget>1</RunTarget>
|
||||||
|
<RunAbUc>0</RunAbUc>
|
||||||
|
</OPTTT>
|
||||||
|
<OPTHX>
|
||||||
|
<HexSelection>1</HexSelection>
|
||||||
|
<FlashByte>65535</FlashByte>
|
||||||
|
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||||
|
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||||
|
<HexOffset>0</HexOffset>
|
||||||
|
</OPTHX>
|
||||||
|
<OPTLEX>
|
||||||
|
<PageWidth>79</PageWidth>
|
||||||
|
<PageLength>66</PageLength>
|
||||||
|
<TabStop>8</TabStop>
|
||||||
|
<ListingPath>.\Listings\</ListingPath>
|
||||||
|
</OPTLEX>
|
||||||
|
<ListingPage>
|
||||||
|
<CreateCListing>1</CreateCListing>
|
||||||
|
<CreateAListing>1</CreateAListing>
|
||||||
|
<CreateLListing>1</CreateLListing>
|
||||||
|
<CreateIListing>0</CreateIListing>
|
||||||
|
<AsmCond>1</AsmCond>
|
||||||
|
<AsmSymb>1</AsmSymb>
|
||||||
|
<AsmXref>0</AsmXref>
|
||||||
|
<CCond>1</CCond>
|
||||||
|
<CCode>0</CCode>
|
||||||
|
<CListInc>0</CListInc>
|
||||||
|
<CSymb>0</CSymb>
|
||||||
|
<LinkerCodeListing>0</LinkerCodeListing>
|
||||||
|
</ListingPage>
|
||||||
|
<OPTXL>
|
||||||
|
<LMap>1</LMap>
|
||||||
|
<LComments>1</LComments>
|
||||||
|
<LGenerateSymbols>1</LGenerateSymbols>
|
||||||
|
<LLibSym>1</LLibSym>
|
||||||
|
<LLines>1</LLines>
|
||||||
|
<LLocSym>1</LLocSym>
|
||||||
|
<LPubSym>1</LPubSym>
|
||||||
|
<LXref>0</LXref>
|
||||||
|
<LExpSel>0</LExpSel>
|
||||||
|
</OPTXL>
|
||||||
|
<OPTFL>
|
||||||
|
<tvExp>1</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<IsCurrentTarget>1</IsCurrentTarget>
|
||||||
|
</OPTFL>
|
||||||
|
<CpuCode>18</CpuCode>
|
||||||
|
<DebugOpt>
|
||||||
|
<uSim>0</uSim>
|
||||||
|
<uTrg>1</uTrg>
|
||||||
|
<sLdApp>1</sLdApp>
|
||||||
|
<sGomain>1</sGomain>
|
||||||
|
<sRbreak>1</sRbreak>
|
||||||
|
<sRwatch>1</sRwatch>
|
||||||
|
<sRmem>1</sRmem>
|
||||||
|
<sRfunc>1</sRfunc>
|
||||||
|
<sRbox>1</sRbox>
|
||||||
|
<tLdApp>1</tLdApp>
|
||||||
|
<tGomain>1</tGomain>
|
||||||
|
<tRbreak>1</tRbreak>
|
||||||
|
<tRwatch>1</tRwatch>
|
||||||
|
<tRmem>1</tRmem>
|
||||||
|
<tRfunc>0</tRfunc>
|
||||||
|
<tRbox>1</tRbox>
|
||||||
|
<tRtrace>1</tRtrace>
|
||||||
|
<sRSysVw>1</sRSysVw>
|
||||||
|
<tRSysVw>1</tRSysVw>
|
||||||
|
<sRunDeb>0</sRunDeb>
|
||||||
|
<sLrtime>0</sLrtime>
|
||||||
|
<bEvRecOn>1</bEvRecOn>
|
||||||
|
<bSchkAxf>0</bSchkAxf>
|
||||||
|
<bTchkAxf>0</bTchkAxf>
|
||||||
|
<nTsel>6</nTsel>
|
||||||
|
<sDll></sDll>
|
||||||
|
<sDllPa></sDllPa>
|
||||||
|
<sDlgDll></sDlgDll>
|
||||||
|
<sDlgPa></sDlgPa>
|
||||||
|
<sIfile></sIfile>
|
||||||
|
<tDll></tDll>
|
||||||
|
<tDllPa></tDllPa>
|
||||||
|
<tDlgDll></tDlgDll>
|
||||||
|
<tDlgPa></tDlgPa>
|
||||||
|
<tIfile></tIfile>
|
||||||
|
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||||
|
</DebugOpt>
|
||||||
|
<TargetDriverDllRegistry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>EVENTREC_CNF</Key>
|
||||||
|
<Name>-l0 -a1 -s0 -f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>ARMRTXEVENTFLAGS</Key>
|
||||||
|
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>DLGTARM</Key>
|
||||||
|
<Name>(1010=-1,-1,-1,-1,0)(6017=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(6016=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>ARMDBGFLAGS</Key>
|
||||||
|
<Name></Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>DLGUARM</Key>
|
||||||
|
<Name>(105=-1,-1,-1,-1,0)</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||||
|
<Name>-U0671FF485057775187193017 -O8398 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP (ARM Core") -D00(5BA02477) -L00(0) -TO131075 -TC216000000 -TT216000000 -TP21 -TDS806B -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F746NGHx$CMSIS\Flash\STM32F7x_1024.FLM)</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
<SetRegEntry>
|
||||||
|
<Number>0</Number>
|
||||||
|
<Key>UL2CM3</Key>
|
||||||
|
<Name>UL2CM3(-S0 -C0 -P0 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F746NGHx$CMSIS\Flash\STM32F7x_1024.FLM))</Name>
|
||||||
|
</SetRegEntry>
|
||||||
|
</TargetDriverDllRegistry>
|
||||||
|
<Breakpoint/>
|
||||||
|
<WatchWindow1>
|
||||||
|
<Ww>
|
||||||
|
<count>0</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>sai</ItemText>
|
||||||
|
</Ww>
|
||||||
|
</WatchWindow1>
|
||||||
|
<MemoryWindow1>
|
||||||
|
<Mm>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<SubType>0</SubType>
|
||||||
|
<ItemText>0x20010108</ItemText>
|
||||||
|
<AccSizeX>0</AccSizeX>
|
||||||
|
</Mm>
|
||||||
|
</MemoryWindow1>
|
||||||
|
<MemoryWindow3>
|
||||||
|
<Mm>
|
||||||
|
<WinNumber>3</WinNumber>
|
||||||
|
<SubType>10</SubType>
|
||||||
|
<ItemText>0x200022d0</ItemText>
|
||||||
|
<AccSizeX>0</AccSizeX>
|
||||||
|
</Mm>
|
||||||
|
</MemoryWindow3>
|
||||||
|
<ScvdPack>
|
||||||
|
<Filename>C:\Keil_v5\ARM\CMSIS\5.9.0\CMSIS\RTOS2\RTX\RTX5.scvd</Filename>
|
||||||
|
<Type>ARM.CMSIS.5.9.0</Type>
|
||||||
|
<SubType>1</SubType>
|
||||||
|
</ScvdPack>
|
||||||
|
<ScvdPack>
|
||||||
|
<Filename>C:\Keil_v5\Keil\ARM_Compiler\1.7.2\EventRecorder.scvd</Filename>
|
||||||
|
<Type>Keil.ARM_Compiler.1.7.2</Type>
|
||||||
|
<SubType>1</SubType>
|
||||||
|
</ScvdPack>
|
||||||
|
<Tracepoint>
|
||||||
|
<THDelay>0</THDelay>
|
||||||
|
</Tracepoint>
|
||||||
|
<DebugFlag>
|
||||||
|
<trace>0</trace>
|
||||||
|
<periodic>1</periodic>
|
||||||
|
<aLwin>1</aLwin>
|
||||||
|
<aCover>0</aCover>
|
||||||
|
<aSer1>0</aSer1>
|
||||||
|
<aSer2>0</aSer2>
|
||||||
|
<aPa>0</aPa>
|
||||||
|
<viewmode>1</viewmode>
|
||||||
|
<vrSel>0</vrSel>
|
||||||
|
<aSym>0</aSym>
|
||||||
|
<aTbox>0</aTbox>
|
||||||
|
<AscS1>0</AscS1>
|
||||||
|
<AscS2>0</AscS2>
|
||||||
|
<AscS3>0</AscS3>
|
||||||
|
<aSer3>0</aSer3>
|
||||||
|
<eProf>0</eProf>
|
||||||
|
<aLa>0</aLa>
|
||||||
|
<aPa1>0</aPa1>
|
||||||
|
<AscS4>0</AscS4>
|
||||||
|
<aSer4>1</aSer4>
|
||||||
|
<StkLoc>0</StkLoc>
|
||||||
|
<TrcWin>0</TrcWin>
|
||||||
|
<newCpu>0</newCpu>
|
||||||
|
<uProt>0</uProt>
|
||||||
|
</DebugFlag>
|
||||||
|
<LintExecutable></LintExecutable>
|
||||||
|
<LintConfigFile></LintConfigFile>
|
||||||
|
<bLintAuto>0</bLintAuto>
|
||||||
|
<bAutoGenD>0</bAutoGenD>
|
||||||
|
<LntExFlags>0</LntExFlags>
|
||||||
|
<pMisraName></pMisraName>
|
||||||
|
<pszMrule></pszMrule>
|
||||||
|
<pSingCmds></pSingCmds>
|
||||||
|
<pMultCmds></pMultCmds>
|
||||||
|
<pMisraNamep></pMisraNamep>
|
||||||
|
<pszMrulep></pszMrulep>
|
||||||
|
<pSingCmdsp></pSingCmdsp>
|
||||||
|
<pMultCmdsp></pMultCmdsp>
|
||||||
|
<DebugDescription>
|
||||||
|
<Enable>1</Enable>
|
||||||
|
<EnableFlashSeq>0</EnableFlashSeq>
|
||||||
|
<EnableLog>0</EnableLog>
|
||||||
|
<Protocol>2</Protocol>
|
||||||
|
<DbgClock>10000000</DbgClock>
|
||||||
|
</DebugDescription>
|
||||||
|
</TargetOption>
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>Source Group 1</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>1</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\main.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>main.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>2</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\lcd.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>lcd.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>3</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\touch.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>touch.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>4</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\chat_sender.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>chat_sender.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>5</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\chat_receiver.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>chat_receiver.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>6</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\time_sender.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>time_sender.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>7</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\time_receiver.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>time_receiver.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>8</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\mac_sender.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>mac_sender.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>9</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\mac_receiver.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>mac_receiver.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>10</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\phy_receiver.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>phy_receiver.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>11</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\phy_sender.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>phy_sender.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>12</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\debug.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>debug.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>13</FileNumber>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\main.h</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>main.h</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>14</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\audio.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>audio.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>1</GroupNumber>
|
||||||
|
<FileNumber>15</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\Audio_746G_Discovery.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>Audio_746G_Discovery.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>studio</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>2</GroupNumber>
|
||||||
|
<FileNumber>16</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\gui.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>gui.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>2</GroupNumber>
|
||||||
|
<FileNumber>17</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\resources_manager.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>resources_manager.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>::CMSIS</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>1</RteFlg>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>::CMSIS Driver</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>1</RteFlg>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>::Compiler</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>1</RteFlg>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>::Device</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>1</RteFlg>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>::Hesso pack</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>1</RteFlg>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
<Group>
|
||||||
|
<GroupName>::uGFX library</GroupName>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<cbSel>0</cbSel>
|
||||||
|
<RteFlg>1</RteFlg>
|
||||||
|
</Group>
|
||||||
|
|
||||||
|
</ProjectOpt>
|
867
tokenring_project.uvprojx
Normal file
867
tokenring_project.uvprojx
Normal file
@ -0,0 +1,867 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||||
|
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
|
||||||
|
|
||||||
|
<SchemaVersion>2.1</SchemaVersion>
|
||||||
|
|
||||||
|
<Header>### uVision Project, (C) Keil Software</Header>
|
||||||
|
|
||||||
|
<Targets>
|
||||||
|
<Target>
|
||||||
|
<TargetName>Target 1</TargetName>
|
||||||
|
<ToolsetNumber>0x4</ToolsetNumber>
|
||||||
|
<ToolsetName>ARM-ADS</ToolsetName>
|
||||||
|
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
|
||||||
|
<uAC6>0</uAC6>
|
||||||
|
<TargetOption>
|
||||||
|
<TargetCommonOption>
|
||||||
|
<Device>STM32F746NGHx</Device>
|
||||||
|
<Vendor>STMicroelectronics</Vendor>
|
||||||
|
<PackID>Keil.STM32F7xx_DFP.2.12.0</PackID>
|
||||||
|
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||||
|
<Cpu>IRAM(0x20010000,0x40000) IRAM2(0x20000000,0x10000) IROM(0x08000000,0x100000) IROM2(0x00200000,0x100000) CPUTYPE("Cortex-M7") FPU3(SFPU) CLOCK(12000000) ELITTLE</Cpu>
|
||||||
|
<FlashUtilSpec></FlashUtilSpec>
|
||||||
|
<StartupFile></StartupFile>
|
||||||
|
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20010000 -FC1000 -FN1 -FF0STM32F7x_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F746NGHx$CMSIS\Flash\STM32F7x_1024.FLM))</FlashDriverDll>
|
||||||
|
<DeviceId>0</DeviceId>
|
||||||
|
<RegisterFile>$$Device:STM32F746NGHx$Drivers\CMSIS\Device\ST\STM32F7xx\Include\stm32f7xx.h</RegisterFile>
|
||||||
|
<MemoryEnv></MemoryEnv>
|
||||||
|
<Cmp></Cmp>
|
||||||
|
<Asm></Asm>
|
||||||
|
<Linker></Linker>
|
||||||
|
<OHString></OHString>
|
||||||
|
<InfinionOptionDll></InfinionOptionDll>
|
||||||
|
<SLE66CMisc></SLE66CMisc>
|
||||||
|
<SLE66AMisc></SLE66AMisc>
|
||||||
|
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||||
|
<SFDFile>$$Device:STM32F746NGHx$CMSIS\SVD\STM32F7x6_v1r1.svd</SFDFile>
|
||||||
|
<bCustSvd>0</bCustSvd>
|
||||||
|
<UseEnv>0</UseEnv>
|
||||||
|
<BinPath></BinPath>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
<LibPath></LibPath>
|
||||||
|
<RegisterFilePath></RegisterFilePath>
|
||||||
|
<DBRegisterFilePath></DBRegisterFilePath>
|
||||||
|
<TargetStatus>
|
||||||
|
<Error>0</Error>
|
||||||
|
<ExitCodeStop>0</ExitCodeStop>
|
||||||
|
<ButtonStop>0</ButtonStop>
|
||||||
|
<NotGenerated>0</NotGenerated>
|
||||||
|
<InvalidFlash>1</InvalidFlash>
|
||||||
|
</TargetStatus>
|
||||||
|
<OutputDirectory>.\Objects\</OutputDirectory>
|
||||||
|
<OutputName>tokenring_project</OutputName>
|
||||||
|
<CreateExecutable>1</CreateExecutable>
|
||||||
|
<CreateLib>0</CreateLib>
|
||||||
|
<CreateHexFile>0</CreateHexFile>
|
||||||
|
<DebugInformation>1</DebugInformation>
|
||||||
|
<BrowseInformation>1</BrowseInformation>
|
||||||
|
<ListingPath>.\Listings\</ListingPath>
|
||||||
|
<HexFormatSelection>1</HexFormatSelection>
|
||||||
|
<Merge32K>0</Merge32K>
|
||||||
|
<CreateBatchFile>0</CreateBatchFile>
|
||||||
|
<BeforeCompile>
|
||||||
|
<RunUserProg1>0</RunUserProg1>
|
||||||
|
<RunUserProg2>0</RunUserProg2>
|
||||||
|
<UserProg1Name></UserProg1Name>
|
||||||
|
<UserProg2Name></UserProg2Name>
|
||||||
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
<nStopU1X>0</nStopU1X>
|
||||||
|
<nStopU2X>0</nStopU2X>
|
||||||
|
</BeforeCompile>
|
||||||
|
<BeforeMake>
|
||||||
|
<RunUserProg1>0</RunUserProg1>
|
||||||
|
<RunUserProg2>0</RunUserProg2>
|
||||||
|
<UserProg1Name></UserProg1Name>
|
||||||
|
<UserProg2Name></UserProg2Name>
|
||||||
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
<nStopB1X>0</nStopB1X>
|
||||||
|
<nStopB2X>0</nStopB2X>
|
||||||
|
</BeforeMake>
|
||||||
|
<AfterMake>
|
||||||
|
<RunUserProg1>0</RunUserProg1>
|
||||||
|
<RunUserProg2>0</RunUserProg2>
|
||||||
|
<UserProg1Name></UserProg1Name>
|
||||||
|
<UserProg2Name></UserProg2Name>
|
||||||
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
<nStopA1X>0</nStopA1X>
|
||||||
|
<nStopA2X>0</nStopA2X>
|
||||||
|
</AfterMake>
|
||||||
|
<SelectedForBatchBuild>0</SelectedForBatchBuild>
|
||||||
|
<SVCSIdString></SVCSIdString>
|
||||||
|
</TargetCommonOption>
|
||||||
|
<CommonProperty>
|
||||||
|
<UseCPPCompiler>0</UseCPPCompiler>
|
||||||
|
<RVCTCodeConst>0</RVCTCodeConst>
|
||||||
|
<RVCTZI>0</RVCTZI>
|
||||||
|
<RVCTOtherData>0</RVCTOtherData>
|
||||||
|
<ModuleSelection>0</ModuleSelection>
|
||||||
|
<IncludeInBuild>1</IncludeInBuild>
|
||||||
|
<AlwaysBuild>0</AlwaysBuild>
|
||||||
|
<GenerateAssemblyFile>0</GenerateAssemblyFile>
|
||||||
|
<AssembleAssemblyFile>0</AssembleAssemblyFile>
|
||||||
|
<PublicsOnly>0</PublicsOnly>
|
||||||
|
<StopOnExitCode>3</StopOnExitCode>
|
||||||
|
<CustomArgument></CustomArgument>
|
||||||
|
<IncludeLibraryModules></IncludeLibraryModules>
|
||||||
|
<ComprImg>1</ComprImg>
|
||||||
|
</CommonProperty>
|
||||||
|
<DllOption>
|
||||||
|
<SimDllName>SARMCM3.DLL</SimDllName>
|
||||||
|
<SimDllArguments> -REMAP -MPU</SimDllArguments>
|
||||||
|
<SimDlgDll>DCM.DLL</SimDlgDll>
|
||||||
|
<SimDlgDllArguments>-pCM7</SimDlgDllArguments>
|
||||||
|
<TargetDllName>SARMCM3.DLL</TargetDllName>
|
||||||
|
<TargetDllArguments> -MPU</TargetDllArguments>
|
||||||
|
<TargetDlgDll>TCM.DLL</TargetDlgDll>
|
||||||
|
<TargetDlgDllArguments>-pCM7</TargetDlgDllArguments>
|
||||||
|
</DllOption>
|
||||||
|
<DebugOption>
|
||||||
|
<OPTHX>
|
||||||
|
<HexSelection>1</HexSelection>
|
||||||
|
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||||
|
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||||
|
<HexOffset>0</HexOffset>
|
||||||
|
<Oh166RecLen>16</Oh166RecLen>
|
||||||
|
</OPTHX>
|
||||||
|
</DebugOption>
|
||||||
|
<Utilities>
|
||||||
|
<Flash1>
|
||||||
|
<UseTargetDll>1</UseTargetDll>
|
||||||
|
<UseExternalTool>0</UseExternalTool>
|
||||||
|
<RunIndependent>0</RunIndependent>
|
||||||
|
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
|
||||||
|
<Capability>1</Capability>
|
||||||
|
<DriverSelection>4096</DriverSelection>
|
||||||
|
</Flash1>
|
||||||
|
<bUseTDR>1</bUseTDR>
|
||||||
|
<Flash2>BIN\UL2CM3.DLL</Flash2>
|
||||||
|
<Flash3>"" ()</Flash3>
|
||||||
|
<Flash4></Flash4>
|
||||||
|
<pFcarmOut></pFcarmOut>
|
||||||
|
<pFcarmGrp></pFcarmGrp>
|
||||||
|
<pFcArmRoot></pFcArmRoot>
|
||||||
|
<FcArmLst>0</FcArmLst>
|
||||||
|
</Utilities>
|
||||||
|
<TargetArmAds>
|
||||||
|
<ArmAdsMisc>
|
||||||
|
<GenerateListings>0</GenerateListings>
|
||||||
|
<asHll>1</asHll>
|
||||||
|
<asAsm>1</asAsm>
|
||||||
|
<asMacX>1</asMacX>
|
||||||
|
<asSyms>1</asSyms>
|
||||||
|
<asFals>1</asFals>
|
||||||
|
<asDbgD>1</asDbgD>
|
||||||
|
<asForm>1</asForm>
|
||||||
|
<ldLst>0</ldLst>
|
||||||
|
<ldmm>1</ldmm>
|
||||||
|
<ldXref>1</ldXref>
|
||||||
|
<BigEnd>0</BigEnd>
|
||||||
|
<AdsALst>1</AdsALst>
|
||||||
|
<AdsACrf>1</AdsACrf>
|
||||||
|
<AdsANop>0</AdsANop>
|
||||||
|
<AdsANot>0</AdsANot>
|
||||||
|
<AdsLLst>1</AdsLLst>
|
||||||
|
<AdsLmap>1</AdsLmap>
|
||||||
|
<AdsLcgr>1</AdsLcgr>
|
||||||
|
<AdsLsym>1</AdsLsym>
|
||||||
|
<AdsLszi>1</AdsLszi>
|
||||||
|
<AdsLtoi>1</AdsLtoi>
|
||||||
|
<AdsLsun>1</AdsLsun>
|
||||||
|
<AdsLven>1</AdsLven>
|
||||||
|
<AdsLsxf>1</AdsLsxf>
|
||||||
|
<RvctClst>0</RvctClst>
|
||||||
|
<GenPPlst>0</GenPPlst>
|
||||||
|
<AdsCpuType>"Cortex-M7"</AdsCpuType>
|
||||||
|
<RvctDeviceName></RvctDeviceName>
|
||||||
|
<mOS>1</mOS>
|
||||||
|
<uocRom>0</uocRom>
|
||||||
|
<uocRam>0</uocRam>
|
||||||
|
<hadIROM>1</hadIROM>
|
||||||
|
<hadIRAM>1</hadIRAM>
|
||||||
|
<hadXRAM>0</hadXRAM>
|
||||||
|
<uocXRam>0</uocXRam>
|
||||||
|
<RvdsVP>2</RvdsVP>
|
||||||
|
<RvdsMve>0</RvdsMve>
|
||||||
|
<RvdsCdeCp>0</RvdsCdeCp>
|
||||||
|
<hadIRAM2>1</hadIRAM2>
|
||||||
|
<hadIROM2>1</hadIROM2>
|
||||||
|
<StupSel>8</StupSel>
|
||||||
|
<useUlib>0</useUlib>
|
||||||
|
<EndSel>0</EndSel>
|
||||||
|
<uLtcg>0</uLtcg>
|
||||||
|
<nSecure>0</nSecure>
|
||||||
|
<RoSelD>3</RoSelD>
|
||||||
|
<RwSelD>4</RwSelD>
|
||||||
|
<CodeSel>0</CodeSel>
|
||||||
|
<OptFeed>0</OptFeed>
|
||||||
|
<NoZi1>0</NoZi1>
|
||||||
|
<NoZi2>0</NoZi2>
|
||||||
|
<NoZi3>0</NoZi3>
|
||||||
|
<NoZi4>0</NoZi4>
|
||||||
|
<NoZi5>0</NoZi5>
|
||||||
|
<Ro1Chk>0</Ro1Chk>
|
||||||
|
<Ro2Chk>0</Ro2Chk>
|
||||||
|
<Ro3Chk>0</Ro3Chk>
|
||||||
|
<Ir1Chk>1</Ir1Chk>
|
||||||
|
<Ir2Chk>0</Ir2Chk>
|
||||||
|
<Ra1Chk>0</Ra1Chk>
|
||||||
|
<Ra2Chk>0</Ra2Chk>
|
||||||
|
<Ra3Chk>0</Ra3Chk>
|
||||||
|
<Im1Chk>1</Im1Chk>
|
||||||
|
<Im2Chk>1</Im2Chk>
|
||||||
|
<OnChipMemories>
|
||||||
|
<Ocm1>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocm1>
|
||||||
|
<Ocm2>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocm2>
|
||||||
|
<Ocm3>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocm3>
|
||||||
|
<Ocm4>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocm4>
|
||||||
|
<Ocm5>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocm5>
|
||||||
|
<Ocm6>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</Ocm6>
|
||||||
|
<IRAM>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x20010000</StartAddress>
|
||||||
|
<Size>0x40000</Size>
|
||||||
|
</IRAM>
|
||||||
|
<IROM>
|
||||||
|
<Type>1</Type>
|
||||||
|
<StartAddress>0x8000000</StartAddress>
|
||||||
|
<Size>0x100000</Size>
|
||||||
|
</IROM>
|
||||||
|
<XRAM>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</XRAM>
|
||||||
|
<OCR_RVCT1>
|
||||||
|
<Type>1</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</OCR_RVCT1>
|
||||||
|
<OCR_RVCT2>
|
||||||
|
<Type>1</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</OCR_RVCT2>
|
||||||
|
<OCR_RVCT3>
|
||||||
|
<Type>1</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</OCR_RVCT3>
|
||||||
|
<OCR_RVCT4>
|
||||||
|
<Type>1</Type>
|
||||||
|
<StartAddress>0x8000000</StartAddress>
|
||||||
|
<Size>0x100000</Size>
|
||||||
|
</OCR_RVCT4>
|
||||||
|
<OCR_RVCT5>
|
||||||
|
<Type>1</Type>
|
||||||
|
<StartAddress>0x200000</StartAddress>
|
||||||
|
<Size>0x100000</Size>
|
||||||
|
</OCR_RVCT5>
|
||||||
|
<OCR_RVCT6>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</OCR_RVCT6>
|
||||||
|
<OCR_RVCT7>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</OCR_RVCT7>
|
||||||
|
<OCR_RVCT8>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x0</StartAddress>
|
||||||
|
<Size>0x0</Size>
|
||||||
|
</OCR_RVCT8>
|
||||||
|
<OCR_RVCT9>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x20010000</StartAddress>
|
||||||
|
<Size>0x40000</Size>
|
||||||
|
</OCR_RVCT9>
|
||||||
|
<OCR_RVCT10>
|
||||||
|
<Type>0</Type>
|
||||||
|
<StartAddress>0x20000000</StartAddress>
|
||||||
|
<Size>0x10000</Size>
|
||||||
|
</OCR_RVCT10>
|
||||||
|
</OnChipMemories>
|
||||||
|
<RvctStartVector></RvctStartVector>
|
||||||
|
</ArmAdsMisc>
|
||||||
|
<Cads>
|
||||||
|
<interw>1</interw>
|
||||||
|
<Optim>1</Optim>
|
||||||
|
<oTime>0</oTime>
|
||||||
|
<SplitLS>0</SplitLS>
|
||||||
|
<OneElfS>1</OneElfS>
|
||||||
|
<Strict>0</Strict>
|
||||||
|
<EnumInt>0</EnumInt>
|
||||||
|
<PlainCh>0</PlainCh>
|
||||||
|
<Ropi>0</Ropi>
|
||||||
|
<Rwpi>0</Rwpi>
|
||||||
|
<wLevel>2</wLevel>
|
||||||
|
<uThumb>0</uThumb>
|
||||||
|
<uSurpInc>0</uSurpInc>
|
||||||
|
<uC99>1</uC99>
|
||||||
|
<uGnu>0</uGnu>
|
||||||
|
<useXO>0</useXO>
|
||||||
|
<v6Lang>1</v6Lang>
|
||||||
|
<v6LangP>1</v6LangP>
|
||||||
|
<vShortEn>1</vShortEn>
|
||||||
|
<vShortWch>1</vShortWch>
|
||||||
|
<v6Lto>0</v6Lto>
|
||||||
|
<v6WtE>0</v6WtE>
|
||||||
|
<v6Rtti>0</v6Rtti>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath>.\RTE\uGFX_library;.\</IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</Cads>
|
||||||
|
<Aads>
|
||||||
|
<interw>1</interw>
|
||||||
|
<Ropi>0</Ropi>
|
||||||
|
<Rwpi>0</Rwpi>
|
||||||
|
<thumb>0</thumb>
|
||||||
|
<SplitLS>0</SplitLS>
|
||||||
|
<SwStkChk>0</SwStkChk>
|
||||||
|
<NoWarn>0</NoWarn>
|
||||||
|
<uSurpInc>0</uSurpInc>
|
||||||
|
<useXO>0</useXO>
|
||||||
|
<ClangAsOpt>4</ClangAsOpt>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</Aads>
|
||||||
|
<LDads>
|
||||||
|
<umfTarg>1</umfTarg>
|
||||||
|
<Ropi>0</Ropi>
|
||||||
|
<Rwpi>0</Rwpi>
|
||||||
|
<noStLib>0</noStLib>
|
||||||
|
<RepFail>1</RepFail>
|
||||||
|
<useFile>0</useFile>
|
||||||
|
<TextAddressRange>0x08000000</TextAddressRange>
|
||||||
|
<DataAddressRange>0x20010000</DataAddressRange>
|
||||||
|
<pXoBase></pXoBase>
|
||||||
|
<ScatterFile></ScatterFile>
|
||||||
|
<IncludeLibs></IncludeLibs>
|
||||||
|
<IncludeLibsPath></IncludeLibsPath>
|
||||||
|
<Misc>--keep=os_cb_sections</Misc>
|
||||||
|
<LinkerInputFile></LinkerInputFile>
|
||||||
|
<DisabledWarnings></DisabledWarnings>
|
||||||
|
</LDads>
|
||||||
|
</TargetArmAds>
|
||||||
|
</TargetOption>
|
||||||
|
<Groups>
|
||||||
|
<Group>
|
||||||
|
<GroupName>Source Group 1</GroupName>
|
||||||
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>main.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\main.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>lcd.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\lcd.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>touch.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\touch.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>chat_sender.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\chat_sender.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>chat_receiver.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\chat_receiver.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>time_sender.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\time_sender.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>time_receiver.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\time_receiver.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>mac_sender.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\mac_sender.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>mac_receiver.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\mac_receiver.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>phy_receiver.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\phy_receiver.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>phy_sender.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\phy_sender.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>debug.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\debug.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>main.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>.\main.h</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>audio.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\audio.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>Audio_746G_Discovery.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\Audio_746G_Discovery.c</FilePath>
|
||||||
|
</File>
|
||||||
|
</Files>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>studio</GroupName>
|
||||||
|
<Files>
|
||||||
|
<File>
|
||||||
|
<FileName>gui.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\gui.c</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>resources_manager.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>.\resources_manager.c</FilePath>
|
||||||
|
</File>
|
||||||
|
</Files>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>::CMSIS</GroupName>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>::CMSIS Driver</GroupName>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>::Compiler</GroupName>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>::Device</GroupName>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>::Hesso pack</GroupName>
|
||||||
|
</Group>
|
||||||
|
<Group>
|
||||||
|
<GroupName>::uGFX library</GroupName>
|
||||||
|
</Group>
|
||||||
|
</Groups>
|
||||||
|
</Target>
|
||||||
|
</Targets>
|
||||||
|
|
||||||
|
<RTE>
|
||||||
|
<packages>
|
||||||
|
<filter>
|
||||||
|
<targetInfos/>
|
||||||
|
</filter>
|
||||||
|
<package name="CMSIS" schemaVersion="1.7.7" url="http://www.keil.com/pack/" vendor="ARM" version="5.9.0">
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1" versionMatchMode="fixed"/>
|
||||||
|
</targetInfos>
|
||||||
|
</package>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0">
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1" versionMatchMode="fixed"/>
|
||||||
|
</targetInfos>
|
||||||
|
</package>
|
||||||
|
<package name="ARM_Compiler" schemaVersion="1.7.7" url="https://www.keil.com/pack/" vendor="Keil" version="1.7.2">
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1" versionMatchMode="fixed"/>
|
||||||
|
</targetInfos>
|
||||||
|
</package>
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0">
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1" versionMatchMode="fixed"/>
|
||||||
|
</targetInfos>
|
||||||
|
</package>
|
||||||
|
<package name="uGFX_lib" schemaVersion="1.2" url="http://kpacks.hevs.ch/uGFX.uGFX_lib.pdsc" vendor="uGFX" version="2.0.0">
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1" versionMatchMode="fixed"/>
|
||||||
|
</targetInfos>
|
||||||
|
</package>
|
||||||
|
</packages>
|
||||||
|
<apis>
|
||||||
|
<api Capiversion="2.3.0" Cclass="CMSIS Driver" Cgroup="I2C" exclusive="0">
|
||||||
|
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</api>
|
||||||
|
<api Capiversion="1.1.0" Cclass="CMSIS Driver" Cgroup="SAI" exclusive="0">
|
||||||
|
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1">
|
||||||
|
<c>
|
||||||
|
<Define>SAI2_RX_BLOCK=SAI_BLOCK_B, SAI2_TX_BLOCK=SAI_BLOCK_A</Define>
|
||||||
|
</c>
|
||||||
|
</targetInfo>
|
||||||
|
</targetInfos>
|
||||||
|
</api>
|
||||||
|
<api Capiversion="2.1.2" Cclass="CMSIS" Cgroup="RTOS2" exclusive="1">
|
||||||
|
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</api>
|
||||||
|
<api Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.9.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</api>
|
||||||
|
</apis>
|
||||||
|
<components>
|
||||||
|
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0" condition="ARMv6_7_8-M Device">
|
||||||
|
<package name="CMSIS" schemaVersion="1.7.7" url="http://www.keil.com/pack/" vendor="ARM" version="5.9.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Capiversion="2.1.3" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Source" Cvendor="ARM" Cversion="5.5.4" condition="RTOS2 RTX5">
|
||||||
|
<package name="CMSIS" schemaVersion="1.7.7" url="http://www.keil.com/pack/" vendor="ARM" version="5.9.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="Buttons" Cvendor="HessoValais" Cversion="1.0.0" condition="any">
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="Keyboard" Cvendor="HessoValais" Cversion="1.1.1" condition="spi2">
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="LEDs" Cvendor="HessoValais" Cversion="1.0.0" condition="any">
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="UART" Cvendor="HessoValais" Cversion="1.0.0" condition="uart6">
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="Event Recorder" Cvariant="DAP" Cvendor="Keil" Cversion="1.5.1" condition="Cortex-M Device">
|
||||||
|
<package name="ARM_Compiler" schemaVersion="1.7.7" url="https://www.keil.com/pack/" vendor="Keil" version="1.7.2"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.2.0" condition="ARMCC Cortex-M with ITM">
|
||||||
|
<package name="ARM_Compiler" schemaVersion="1.7.7" url="https://www.keil.com/pack/" vendor="Keil" version="1.7.2"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="I2C" Cvendor="Keil" Cversion="1.9.0" condition="STM32F7 CMSIS_Driver I2C">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Capiversion="1.0.0" Cclass="CMSIS Driver" Cgroup="SAI" Cvendor="Keil" Cversion="1.5.0" condition="STM32F7 CMSIS_Driver SAI">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1">
|
||||||
|
<c>
|
||||||
|
<Define>SAI2_RX_BLOCK=SAI_BLOCK_B, SAI2_TX_BLOCK=SAI_BLOCK_A</Define>
|
||||||
|
</c>
|
||||||
|
</targetInfo>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 Framework Classic">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 HAL Common">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 HAL">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 HAL">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 HAL">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 HAL">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 HAL GPIO">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SDRAM" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 HAL DMA">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SPI" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 HAL DMA">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 HAL DMA">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.4" condition="STM32F7 CMSIS">
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
<component Cclass="uGFX library" Cgroup="uGFX library" Cvariant="osRTX5" Cvendor="uGFX" Cversion="2.0.0">
|
||||||
|
<package name="uGFX_lib" schemaVersion="1.2" url="http://kpacks.hevs.ch/uGFX.uGFX_lib.pdsc" vendor="uGFX" version="2.0.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</component>
|
||||||
|
</components>
|
||||||
|
<files>
|
||||||
|
<file attr="config" category="source" name="CMSIS\RTOS2\RTX\Config\RTX_Config.c" version="5.1.0">
|
||||||
|
<instance index="0">RTE\CMSIS\RTX_Config.c</instance>
|
||||||
|
<component Capiversion="2.1.3" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Source" Cvendor="ARM" Cversion="5.5.4" condition="RTOS2 RTX5"/>
|
||||||
|
<package name="CMSIS" schemaVersion="1.7.7" url="http://www.keil.com/pack/" vendor="ARM" version="5.9.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="header" name="CMSIS\RTOS2\RTX\Config\RTX_Config.h" version="5.2.0">
|
||||||
|
<instance index="0">RTE\CMSIS\RTX_Config.h</instance>
|
||||||
|
<component Capiversion="2.1.3" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Source" Cvendor="ARM" Cversion="5.5.4" condition="RTOS2 RTX5"/>
|
||||||
|
<package name="CMSIS" schemaVersion="1.7.7" url="http://www.keil.com/pack/" vendor="ARM" version="5.9.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="header" name="Config\EventRecorderConf.h" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Compiler\EventRecorderConf.h</instance>
|
||||||
|
<component Cbundle="ARM Compiler" Cclass="Compiler" Cgroup="Event Recorder" Cvariant="DAP" Cvendor="Keil" Cversion="1.5.1" condition="Cortex-M Device"/>
|
||||||
|
<package name="ARM_Compiler" schemaVersion="1.7.7" url="https://www.keil.com/pack/" vendor="Keil" version="1.7.2"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="1.4.0">
|
||||||
|
<instance index="0">RTE\Device\STM32F746NGHx\RTE_Device.h</instance>
|
||||||
|
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 Framework Classic"/>
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" condition="STM32F746_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\arm\startup_stm32f746xx.s" version="1.2.0">
|
||||||
|
<instance index="0">RTE\Device\STM32F746NGHx\startup_stm32f746xx.s</instance>
|
||||||
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.4" condition="STM32F7 CMSIS"/>
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f7xx_hal_conf.h" version="1.2.0">
|
||||||
|
<instance index="0">RTE\Device\STM32F746NGHx\stm32f7xx_hal_conf.h</instance>
|
||||||
|
<component Capiversion="1.0.0" Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.2.7" condition="STM32F7 Framework Classic"/>
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F7xx\Source\Templates\system_stm32f7xx.c" version="1.2.0">
|
||||||
|
<instance index="0">RTE\Device\STM32F746NGHx\system_stm32f7xx.c</instance>
|
||||||
|
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.2.4" condition="STM32F7 CMSIS"/>
|
||||||
|
<package name="STM32F7xx_DFP" schemaVersion="1.6.0" url="http://www.keil.com/pack/" vendor="Keil" version="2.12.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="extension_board\clock_216.c" version="1.0.0">
|
||||||
|
<instance index="0" removed="1">RTE\Hesso_pack\clock_216.c</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Utilities" Csub="Clock" Cvendor="HessoValais" Cversion="1.0.0"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" supportContact="mailto:pascal.sartoretti@hevs.ch" url="file:///C:\tmp\ext_pack" vendor="HessoValais" version="1.0.0"/>
|
||||||
|
<targetInfos/>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="header" name="extension_board\clock_216.h" version="1.0.0">
|
||||||
|
<instance index="0" removed="1">RTE\Hesso_pack\clock_216.h</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Utilities" Csub="Clock" Cvendor="HessoValais" Cversion="1.0.0"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" supportContact="mailto:pascal.sartoretti@hevs.ch" url="file:///C:\tmp\ext_pack" vendor="HessoValais" version="1.0.0"/>
|
||||||
|
<targetInfos/>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="extension_board\ext_buttons.c" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Hesso_pack\ext_buttons.c</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="Buttons" Cvendor="HessoValais" Cversion="1.0.0" condition="any"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="header" name="extension_board\ext_buttons.h" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Hesso_pack\ext_buttons.h</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="Buttons" Cvendor="HessoValais" Cversion="1.0.0" condition="any"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="extension_board\ext_keyboard.c" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Hesso_pack\ext_keyboard.c</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="Keyboard" Cvendor="HessoValais" Cversion="1.1.1" condition="spi2"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="header" name="extension_board\ext_keyboard.h" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Hesso_pack\ext_keyboard.h</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="Keyboard" Cvendor="HessoValais" Cversion="1.1.1" condition="spi2"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="extension_board\ext_led.c" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Hesso_pack\ext_led.c</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="LEDs" Cvendor="HessoValais" Cversion="1.0.0" condition="any"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="header" name="extension_board\ext_led.h" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Hesso_pack\ext_led.h</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="LEDs" Cvendor="HessoValais" Cversion="1.0.0" condition="any"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="extension_board\ext_uart.c" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Hesso_pack\ext_uart.c</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="UART" Cvendor="HessoValais" Cversion="1.0.0" condition="uart6"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="header" name="extension_board\ext_uart.h" version="1.0.0">
|
||||||
|
<instance index="0">RTE\Hesso_pack\ext_uart.h</instance>
|
||||||
|
<component Cclass="Hesso pack" Cgroup="Extension Board" Csub="UART" Cvendor="HessoValais" Cversion="1.0.0" condition="uart6"/>
|
||||||
|
<package name="Extension_board" schemaVersion="1.2" url="http://kpacks.hevs.ch/HessoValais.Extension_board.pdsc" vendor="HessoValais" version="1.2.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="ugfx\gdisp_lld_STM32LTDC.c" version="1.0.0">
|
||||||
|
<instance index="0" removed="1">RTE\uGFX_library\gdisp_lld_STM32LTDC.c</instance>
|
||||||
|
<component Cclass="uGFX library" Cgroup="uGFX library" Cvariant="osRTX5" Cvendor="uGFX" Cversion="1.0.0"/>
|
||||||
|
<package name="uGFX_lib" schemaVersion="1.2" supportContact="mailto:pascal.sartoretti@hevs.ch" url="file:///C:\tmp\ext_pack" vendor="uGFX" version="1.0.0"/>
|
||||||
|
<targetInfos/>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="ugfx\gfx_mk_rtx5_os.c" version="1.0.0">
|
||||||
|
<instance index="0" removed="1">RTE\uGFX_library\gfx_mk_rtx5_os.c</instance>
|
||||||
|
<component Cclass="uGFX library" Cgroup="uGFX library" Cvariant="osRTX5" Cvendor="uGFX" Cversion="1.0.0"/>
|
||||||
|
<package name="uGFX_lib" schemaVersion="1.2" supportContact="mailto:pascal.sartoretti@hevs.ch" url="file:///C:\tmp\ext_pack" vendor="uGFX" version="1.0.0"/>
|
||||||
|
<targetInfos/>
|
||||||
|
</file>
|
||||||
|
<file Cversion="2.0.0" attr="config" category="source" name="ugfx\config\with_os\gfxconf.h" version="1.0.0">
|
||||||
|
<instance index="0">RTE\uGFX_library\gfxconf.h</instance>
|
||||||
|
<component Cclass="uGFX library" Cgroup="uGFX library" Cvariant="osRTX5" Cvendor="uGFX" Cversion="2.0.0"/>
|
||||||
|
<package name="uGFX_lib" schemaVersion="1.2" url="http://kpacks.hevs.ch/uGFX.uGFX_lib.pdsc" vendor="uGFX" version="2.0.0"/>
|
||||||
|
<targetInfos>
|
||||||
|
<targetInfo name="Target 1"/>
|
||||||
|
</targetInfos>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="ugfx\gmouse_lld_FT5336.c" version="1.0.0">
|
||||||
|
<instance index="0" removed="1">RTE\uGFX_library\gmouse_lld_FT5336.c</instance>
|
||||||
|
<component Cclass="uGFX library" Cgroup="uGFX library" Cvariant="osRTX5" Cvendor="uGFX" Cversion="1.0.0"/>
|
||||||
|
<package name="uGFX_lib" schemaVersion="1.2" supportContact="mailto:pascal.sartoretti@hevs.ch" url="file:///C:\tmp\ext_pack" vendor="uGFX" version="1.0.0"/>
|
||||||
|
<targetInfos/>
|
||||||
|
</file>
|
||||||
|
<file attr="config" category="source" name="ugfx\boards\base\STM32F746-Discovery\stm32f7_i2c.c" version="2.0.0">
|
||||||
|
<instance index="0" removed="1">RTE\uGFX_library\stm32f7_i2c.c</instance>
|
||||||
|
<component Cclass="uGFX library" Cgroup="uGFX library" Cvariant="osRTX5" Cvendor="uGFX" Cversion="2.0.0"/>
|
||||||
|
<package name="uGFX_lib" schemaVersion="1.2" supportContact="mailto:pascal.sartoretti@hevs.ch" url="http://kpacks.hevs.ch/uGFX.uGFX_lib.pdsc" vendor="uGFX" version="2.0.0"/>
|
||||||
|
<targetInfos/>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
</RTE>
|
||||||
|
|
||||||
|
</Project>
|
146
touch.c
Normal file
146
touch.c
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// \file touch.c
|
||||||
|
/// \brief Touch control thread
|
||||||
|
/// \author Pascal Sartoretti (pascal dot sartoretti at hevs dot ch)
|
||||||
|
/// \version 1.0 - original
|
||||||
|
/// \date 2018-02
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
#include "stm32f7xx_hal.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// THREAD TOUCH
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
|
void Touch(void *argument)
|
||||||
|
{
|
||||||
|
struct queueMsg_t queueMsg; // queue message
|
||||||
|
GEvent* pe; // uGFX event type
|
||||||
|
osStatus_t retCode;
|
||||||
|
GHandle tmpHndl;
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
for (;;) // loop until doomsday
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// get an UGFX_Event from uGFX task touchscreen control
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
pe = geventEventWait(&gl, TIME_INFINITE);
|
||||||
|
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
|
||||||
|
// BUTTON PRESSED case -------------------------------------------------------
|
||||||
|
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
|
||||||
|
if(pe->type == GEVENT_GWIN_BUTTON)
|
||||||
|
{
|
||||||
|
tmpHndl = ((GEventGWinButton*)pe)->gwin; // Get handle
|
||||||
|
// NEW_TOKEN case ----------------------------------------------------------
|
||||||
|
if((tmpHndl == btnToken)||
|
||||||
|
(tmpHndl == btnSendToken))
|
||||||
|
{
|
||||||
|
queueMsg.type = NEW_TOKEN; // message type
|
||||||
|
queueMsg.anyPtr = NULL; // pointer
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND (send NEW_TOKEN to mac sender)
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_macS_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
#if DEBUG_MODE != 0
|
||||||
|
if(tmpHndl == btnSendDebug)
|
||||||
|
{
|
||||||
|
gTokenInterface.debugMsgToSend = TRUE; // message type
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
|
||||||
|
// CHECKBOX PRESSED case -----------------------------------------------------
|
||||||
|
//*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
|
||||||
|
if(pe->type == GEVENT_GWIN_CHECKBOX)
|
||||||
|
{
|
||||||
|
tmpHndl = ((GEventGWinCheckbox*)pe)->gwin;
|
||||||
|
// Connection change -------------------------------------------------------
|
||||||
|
if(tmpHndl == cbConnectoed)
|
||||||
|
{
|
||||||
|
if((((GEventGWinCheckbox*)pe)->isChecked) != FALSE)
|
||||||
|
{
|
||||||
|
queueMsg.type = START; // message type
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
queueMsg.type = STOP; // message type
|
||||||
|
}
|
||||||
|
queueMsg.anyPtr = NULL; // pointer
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND (send START of STOP to mac sender)
|
||||||
|
//------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_macS_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
if(tmpHndl == cbDebugConnected) // debug connected changed
|
||||||
|
{
|
||||||
|
gTokenInterface.debugOnline = gwinCheckboxIsChecked(cbDebugConnected);
|
||||||
|
}
|
||||||
|
// Time to send on broadcast------------------------------------------------
|
||||||
|
if(tmpHndl == cbBroadcastTime)
|
||||||
|
{
|
||||||
|
gTokenInterface.broadcastTime = ((GEventGWinCheckbox*)pe)->isChecked;
|
||||||
|
if(gTokenInterface.broadcastTime != FALSE)
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
// set event flag to broadcast time
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
retCode = osEventFlagsSet(eventFlag_id, BROADCAST_TIME_EVT); // set flag
|
||||||
|
if(retCode < 0)
|
||||||
|
{
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
// clear event flag to broadcast time
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
retCode = osEventFlagsClear(eventFlag_id, BROADCAST_TIME_EVT); // clr flag
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// checkbox receive CRC error ----------------------------------------------
|
||||||
|
if(tmpHndl == cbRecCRCError)
|
||||||
|
{
|
||||||
|
gTokenInterface.needReceiveCRCError = ((GEventGWinCheckbox*)pe)->isChecked;
|
||||||
|
}
|
||||||
|
// checkbox send CRC error -------------------------------------------------
|
||||||
|
if(tmpHndl == cbSendCRCError)
|
||||||
|
{
|
||||||
|
gTokenInterface.needSendCRCError = ((GEventGWinCheckbox*)pe)->isChecked;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// All action ----------------------------------------------------------------
|
||||||
|
else
|
||||||
|
{
|
||||||
|
queueMsg.type = TOUCH_EVENT; // message type
|
||||||
|
queueMsg.anyPtr = pe; // pointer
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
// QUEUE SEND (send all messages to LCD manager)
|
||||||
|
//--------------------------------------------------------------------------
|
||||||
|
retCode = osMessageQueuePut(
|
||||||
|
queue_lcd_id,
|
||||||
|
&queueMsg,
|
||||||
|
osPriorityNormal,
|
||||||
|
osWaitForever);
|
||||||
|
CheckRetCode(retCode,__LINE__,__FILE__,CONTINUE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
7
ugfx_system.h
Normal file
7
ugfx_system.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#ifndef _UGFX_SYSTEM_H
|
||||||
|
#define _UGFX_SYSTEM_H
|
||||||
|
|
||||||
|
#include "gfx.h"
|
||||||
|
#include "resources_manager.h"
|
||||||
|
|
||||||
|
#endif // _UGFX_SYSTEM_H
|
7
userfonts.h
Normal file
7
userfonts.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#ifndef _USERFONTS_H
|
||||||
|
#define _USERFONTS_H
|
||||||
|
|
||||||
|
#include "resources/arial_12_arial12_aa.c"
|
||||||
|
#include "resources/arial__14_arial14_aa.c"
|
||||||
|
|
||||||
|
#endif // _USERFONTS_H
|
66
widgetstyles.h
Normal file
66
widgetstyles.h
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#ifndef _WIDGETSTYLES_H
|
||||||
|
#define _WIDGETSTYLES_H
|
||||||
|
|
||||||
|
#include "gfx.h"
|
||||||
|
|
||||||
|
// WidgetStyle: red_green
|
||||||
|
const GWidgetStyle red_green = {
|
||||||
|
HTML2COLOR(0xFFFFFF), // background
|
||||||
|
HTML2COLOR(0x2A8FCD), // focus
|
||||||
|
|
||||||
|
// Enabled color set
|
||||||
|
{
|
||||||
|
HTML2COLOR(0x000000), // text
|
||||||
|
HTML2COLOR(0x404040), // edge
|
||||||
|
HTML2COLOR(0xFF0000), // fill
|
||||||
|
HTML2COLOR(0x00E000) // progress (active area)
|
||||||
|
},
|
||||||
|
|
||||||
|
// Disabled color set
|
||||||
|
{
|
||||||
|
HTML2COLOR(0xC0C0C0), // text
|
||||||
|
HTML2COLOR(0x808080), // edge
|
||||||
|
HTML2COLOR(0xE0E0E0), // fill
|
||||||
|
HTML2COLOR(0xC0E0C0) // progress (active area)
|
||||||
|
},
|
||||||
|
|
||||||
|
// Pressed color set
|
||||||
|
{
|
||||||
|
HTML2COLOR(0x404040), // text
|
||||||
|
HTML2COLOR(0x404040), // edge
|
||||||
|
HTML2COLOR(0x00FF00), // fill
|
||||||
|
HTML2COLOR(0x00E000) // progress (active area)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// WidgetStyle: white_on_gray
|
||||||
|
const GWidgetStyle white_on_gray = {
|
||||||
|
HTML2COLOR(0x606060), // background
|
||||||
|
HTML2COLOR(0x2A8FCD), // focus
|
||||||
|
|
||||||
|
// Enabled color set
|
||||||
|
{
|
||||||
|
HTML2COLOR(0xFFFFFF), // text
|
||||||
|
HTML2COLOR(0x404040), // edge
|
||||||
|
HTML2COLOR(0xE0E0E0), // fill
|
||||||
|
HTML2COLOR(0x00E000) // progress (active area)
|
||||||
|
},
|
||||||
|
|
||||||
|
// Disabled color set
|
||||||
|
{
|
||||||
|
HTML2COLOR(0xC0C0C0), // text
|
||||||
|
HTML2COLOR(0x808080), // edge
|
||||||
|
HTML2COLOR(0xE0E0E0), // fill
|
||||||
|
HTML2COLOR(0xC0E0C0) // progress (active area)
|
||||||
|
},
|
||||||
|
|
||||||
|
// Pressed color set
|
||||||
|
{
|
||||||
|
HTML2COLOR(0x00FF00), // text
|
||||||
|
HTML2COLOR(0x404040), // edge
|
||||||
|
HTML2COLOR(0x00FF00), // fill
|
||||||
|
HTML2COLOR(0x00E000) // progress (active area)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _WIDGETSTYLES_H
|
Reference in New Issue
Block a user