We can install True Type or
Open Type fonts(.ttf /
.otf / .ttc) in DEBIAN LINUX, like
ubuntu or kali.
DOWNLOAD FONT FROM WEBSITE
Download Cascadia Code from
https://github.com/microsoft/cascadia-code/releases and
unzip it.
We got 3 folders here: /otf/ , /ttf/ and
woff2 , and we only need `ttf
COPY FILES TO SYSTEM FONT
DIRECTORY
Font fils are generally installed in either the system font directory
on the path /usr/share/fonts/ or in a user font directory
that is frequently on one of the following paths:
~/.local/share/fonts/
~/usr/local/share/fonts/
Execute the following command to copy the fonts to system path
1
sudo cp -r ttf /usr/share/fonts/CascadiaCode
GENERATE FONT CHACHE
We need to build font infomation caches for apps using fontconfig for
their font handling.
1 2
cd /usr/share/fonts/CascadiaCode fc-cache -f -v
NOTE
If you cannot execute fc-cache command , copy and
execute the following command in terminal.
1
sudo apt install fontconfig
VERIFY THE FONT INSTALLATION
Confirm that the fonts are installed by displaying the paths and
style definitions with fc-list command filtered on the font
family name with grep .
KAG2 is a high performance and ultra low
power CMOS-processed optical image sensor with
integrated digital image process circuits. It is based on an
optical navigation technology which measures changes in position by
optically acquiring sequential surface images(frames) and mathematically
determining the speed, the direction and the magnitude of motion.
The displacement delta_X and delta_Y information are
available in registers which are accessible through SPI serial
interface. A host controller reads and translates the data
from the SPI serial interface into RF signals before sending them to the
host PC.
typedefstruct { uint32_t SPI3WIRE_SysClock; /*!< Specifies system clock */ uint32_t SPI3WIRE_Speed; /*!< Specifies SPI clock. */ uint32_t SPI3WIRE_Mode; /*!< Specifies SPI operation mode. This parameter can be a value of @ref THREE_WIRE_SPI_mode */ uint32_t SPI3WIRE_ReadDelay; /*!< Specifies the delay time from the end of address phase to the start of read data phase. This parameter can be a value of 0x0 to 0x1f, delay time = (SPI3WIRE_ReadDelay+1)/(2*SPI3WIRE_Speed) */ uint32_t SPI3WIRE_OutputDelay; /*!< Specifies SPI output delay 1T or not. This parameter can be a value of @ref THREE_WIRE_SPI_OE_delay_config */
// the actual frequency of spi is set by `SPI3_WIRE_SysClock` // `1E6` means 1MHz, and `2E7` means 20MHz. SPI3WIRE_InitStruct.SPI3WIRE_SysClock = 1E6;
TIMING
\[
Sysclk = 1e7 \\
wirespeek = 8e5
\]
2-WIRED SPI
To recover the correct communication of SPI, the host controller can
de-assert the SCLK for at least tRESYNC (1us min), and then keep SCLK
asserted for a certain time interval tWDT (1.7ms, min) as shown in below
Figure . to force the SPI control circuits of the sensor to reset.
/** * MQTT event configuration structure */ typedefstruct { esp_mqtt_event_id_t event_id; /*!< MQTT event type */ esp_mqtt_client_handle_t client; /*!< MQTT client handle for this event */ void *user_context; /*!< User context passed from MQTT client config */ char *data; /*!< Data associated with this event */ int data_len; /*!< Length of the data for this event */ int total_data_len; /*!< Total length of the data (longer data are supplied with multiple events) */ int current_data_offset; /*!< Actual offset for the data associated with this event */ char *topic; /*!< Topic associated with this event */ int topic_len; /*!< Length of the topic for this event associated with this event */ int msg_id; /*!< MQTT messaged id of message */ int session_present; /*!< MQTT session_present flag for connection event */ esp_mqtt_error_codes_t *error_handle; /*!< esp-mqtt error handle including esp-tls errors as well as internal mqtt errors */ bool retain; /*!< Retained flag of the message associated with this event */ } esp_mqtt_event_t;