?? c5_std5.c
字號:
/* Include files */
#include "std5_sfun.h"
#include "c5_std5.h"
#define CHARTINSTANCE_CHARTNUMBER (chartInstance.chartNumber)
#define CHARTINSTANCE_INSTANCENUMBER (chartInstance.instanceNumber)
#include "std5_sfun_debug_macros.h"
/* Type Definitions */
/* Named Constants */
#define c5_IN_NO_ACTIVE_CHILD (0)
/* Variable Declarations */
/* Variable Definitions */
static SFc5_std5InstanceStruct chartInstance;
/* Function Declarations */
static void initialize_c5_std5(void);
static void initialize_params_c5_std5(void);
static void enable_c5_std5(void);
static void disable_c5_std5(void);
static void finalize_c5_std5(void);
static void sf_c5_std5(void);
static void c5_eML_blk_kernel(real_T *c5_b_PilotSubcSymbols, creal_T
*c5_b_channel_est, creal_T *c5_b_freq_data_syms, creal_T *c5_b_freq_pilot_syms,
creal_T *c5_b_corrected_syms);
static void c5_repmat(creal_T *c5_a, creal_T *c5_b);
static void c5_squeeze(creal_T *c5_a, creal_T *c5_b);
static void c5_sum(creal_T *c5_x, creal_T *c5_y);
static void c5_angle(creal_T *c5_x, creal_T *c5_b_x);
static void c5_b_repmat(creal_T *c5_a, creal_T *c5_b);
static void c5_exp(creal_T *c5_x, creal_T *c5_b_x);
static const mxArray *c5_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_b_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_c_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_d_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_e_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_f_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_g_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_h_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_i_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_j_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_k_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_l_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_m_sf_marshall(void *c5_chartInstance, void *c5_u);
static const mxArray *c5_n_sf_marshall(void *c5_chartInstance, void *c5_u);
static real_T *c5_PilotSubcSymbols(void);
static creal_T *c5_channel_est(void);
static creal_T *c5_corrected_syms(void);
static creal_T *c5_freq_data_syms(void);
static creal_T *c5_freq_pilot_syms(void);
static void init_dsm_address_info(void);
/* Function Definitions */
static void initialize_c5_std5(void)
{
_sfTime_ = (real_T)ssGetT(chartInstance.S);
chartInstance.c5_is_active_c5_std5 = 0U;
}
static void initialize_params_c5_std5(void)
{
}
static void enable_c5_std5(void)
{
}
static void disable_c5_std5(void)
{
}
static void finalize_c5_std5(void)
{
}
static void sf_c5_std5(void)
{
int32_T c5_i0;
int32_T c5_i1;
uint8_T c5_previousEvent;
int32_T c5_i2;
int32_T c5_i3;
real_T c5_dv0[8];
int32_T c5_i4;
creal_T c5_dcv0[52];
int32_T c5_i5;
int32_T c5_i6;
creal_T c5_dcv1[96];
int32_T c5_i7;
int32_T c5_i8;
creal_T c5_dcv2[8];
creal_T c5_dcv3[96];
int32_T c5_i9;
int32_T c5_i10;
_sfTime_ = (real_T)ssGetT(chartInstance.S);
for(c5_i0 = 0; c5_i0 < 2; c5_i0 = c5_i0 + 1) {
for(c5_i1 = 0; c5_i1 < 4; c5_i1 = c5_i1 + 1) {
_SFD_DATA_RANGE_CHECK(c5_PilotSubcSymbols()[c5_i1 + (c5_i0 << 2)], 2U);
}
}
c5_previousEvent = _sfEvent_;
_sfEvent_ = CALL_EVENT;
_SFD_CC_CALL(CHART_ENTER_DURING_FUNCTION_TAG,4);
for(c5_i2 = 0; c5_i2 < 2; c5_i2 = c5_i2 + 1) {
for(c5_i3 = 0; c5_i3 < 4; c5_i3 = c5_i3 + 1) {
c5_dv0[c5_i3 + (c5_i2 << 2)] = c5_PilotSubcSymbols()[c5_i3 + (c5_i2 << 2)];
}
}
for(c5_i4 = 0; c5_i4 < 52; c5_i4 = c5_i4 + 1) {
c5_dcv0[c5_i4].re = c5_channel_est()[c5_i4].re;
c5_dcv0[c5_i4].im = c5_channel_est()[c5_i4].im;
}
for(c5_i5 = 0; c5_i5 < 2; c5_i5 = c5_i5 + 1) {
for(c5_i6 = 0; c5_i6 < 48; c5_i6 = c5_i6 + 1) {
c5_dcv1[c5_i6 + 48 * c5_i5].re = c5_freq_data_syms()[c5_i6 + 48 *
c5_i5].re;
c5_dcv1[c5_i6 + 48 * c5_i5].im = c5_freq_data_syms()[c5_i6 + 48 *
c5_i5].im;
}
}
for(c5_i7 = 0; c5_i7 < 2; c5_i7 = c5_i7 + 1) {
for(c5_i8 = 0; c5_i8 < 4; c5_i8 = c5_i8 + 1) {
c5_dcv2[c5_i8 + (c5_i7 << 2)].re = c5_freq_pilot_syms()[c5_i8 + (c5_i7 <<
2)].re;
c5_dcv2[c5_i8 + (c5_i7 << 2)].im = c5_freq_pilot_syms()[c5_i8 + (c5_i7 <<
2)].im;
}
}
c5_eML_blk_kernel((real_T *)c5_dv0, (creal_T *)c5_dcv0, (creal_T *)c5_dcv1,
(creal_T *)c5_dcv2, (creal_T *)c5_dcv3);
for(c5_i9 = 0; c5_i9 < 2; c5_i9 = c5_i9 + 1) {
for(c5_i10 = 0; c5_i10 < 48; c5_i10 = c5_i10 + 1) {
c5_corrected_syms()[c5_i10 + 48 * c5_i9].re = c5_dcv3[c5_i10 + 48 *
c5_i9].re;
c5_corrected_syms()[c5_i10 + 48 * c5_i9].im = c5_dcv3[c5_i10 + 48 *
c5_i9].im;
}
}
_SFD_CC_CALL(EXIT_OUT_OF_FUNCTION_TAG,4);
_sfEvent_ = c5_previousEvent;
sf_debug_check_for_state_inconsistency(_std5MachineNumber_,
chartInstance.chartNumber, chartInstance.instanceNumber);
}
static void c5_eML_blk_kernel(real_T *c5_b_PilotSubcSymbols, creal_T
*c5_b_channel_est, creal_T *c5_b_freq_data_syms, creal_T *
c5_b_freq_pilot_syms, creal_T *c5_b_corrected_syms)
{
creal_T c5_correction_phases[96];
creal_T c5_phase_error_est[2];
creal_T c5_channel_est1[8];
real_T c5_ref_pilots[8];
real_T c5_scramble_patt1[8];
real_T c5_scramble_patt[508];
real_T c5_PilotSubcPatt[4];
real_T c5_PilotScramble[127];
real_T c5_num_symbols;
int32_T c5_i11;
int32_T c5_i12;
int32_T c5_i13;
static real_T c5_dv1[127] = { 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0,
-1.0, -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0,
1.0, 1.0, -1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0,
1.0, 1.0, -1.0, 1.0, 1.0,
-1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0,
-1.0, -1.0, 1.0, -1.0, -1.0,
1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0,
-1.0, 1.0, 1.0, -1.0, -1.0
, -1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, -1.0, 1.0, -1.0, 1.0,
1.0, 1.0, 1.0, -1.0, 1.0,
-1.0, 1.0, -1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, -1.0, 1.0, 1.0,
-1.0, 1.0, -1.0, 1.0, 1.0,
1.0, -1.0, -1.0, 1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0 };
int32_T c5_i14;
static real_T c5_dv2[4] = { 6.0, 20.0, 33.0, 47.0 };
int32_T c5_i15;
int32_T c5_i16;
static real_T c5_dv3[508] = { 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0
, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0,
-1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0,
1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0,
-1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0
, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, -1.0,
-1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, -1.0
, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0,
-1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, -1.0, -1.0, -1.0
, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
-1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0,
1.0, -1.0, -1.0, -1.0,
-1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0,
-1.0, -1.0, -1.0, -1.0, -1.0
, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, 1.0
, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0,
1.0, 1.0, -1.0, -1.0, -1.0
, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0,
-1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, 1.0, 1.0,
1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
-1.0, -1.0, -1.0, -1.0, 1.0
, 1.0, 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0,
-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, -1.0
, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
1.0, 1.0, 1.0, 1.0, 1.0, -1.0
, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0,
-1.0, -1.0, -1.0, -1.0, -1.0
, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0 };
int32_T c5_i17;
int32_T c5_i18;
int32_T c5_i19;
int32_T c5_i20;
int32_T c5_i21;
int32_T c5_iv0[4];
int32_T c5_i22;
creal_T c5_dcv4[4];
creal_T c5_dcv5[8];
int32_T c5_i23;
int32_T c5_i24;
int32_T c5_i25;
int32_T c5_i26;
creal_T c5_dcv6[8];
creal_T c5_dcv7[8];
int32_T c5_i27;
int32_T c5_i28;
creal_T c5_b_ref_pilots;
creal_T c5_b_channel_est1;
creal_T c5_c_ref_pilots;
creal_T c5_dcv8[8];
creal_T c5_dcv9[2];
int32_T c5_i29;
creal_T c5_dcv10[2];
creal_T c5_dcv11[2];
int32_T c5_i30;
int32_T c5_i31;
int32_T c5_i32;
int32_T c5_i33;
creal_T c5_dcv12[2];
creal_T c5_dcv13[96];
int32_T c5_i34;
int32_T c5_i35;
int32_T c5_i36;
int32_T c5_i37;
creal_T c5_dcv14[96];
creal_T c5_dcv15[96];
int32_T c5_i38;
int32_T c5_i39;
sf_debug_symbol_scope_push(14U, 0U);
sf_debug_symbol_scope_add("correction_phases", &c5_correction_phases,
c5_n_sf_marshall);
sf_debug_symbol_scope_add("phase_error_est", &c5_phase_error_est,
c5_m_sf_marshall);
sf_debug_symbol_scope_add("channel_est1", &c5_channel_est1, c5_l_sf_marshall);
sf_debug_symbol_scope_add("ref_pilots", &c5_ref_pilots, c5_k_sf_marshall);
sf_debug_symbol_scope_add("scramble_patt1", &c5_scramble_patt1,
c5_j_sf_marshall);
sf_debug_symbol_scope_add("scramble_patt", &c5_scramble_patt,
c5_i_sf_marshall);
sf_debug_symbol_scope_add("PilotSubcPatt", &c5_PilotSubcPatt,
c5_h_sf_marshall);
sf_debug_symbol_scope_add("PilotScramble", &c5_PilotScramble,
c5_g_sf_marshall);
sf_debug_symbol_scope_add("num_symbols", &c5_num_symbols, c5_f_sf_marshall);
sf_debug_symbol_scope_add("corrected_syms", c5_b_corrected_syms,
c5_e_sf_marshall);
sf_debug_symbol_scope_add("freq_pilot_syms", c5_b_freq_pilot_syms,
c5_d_sf_marshall);
sf_debug_symbol_scope_add("freq_data_syms", c5_b_freq_data_syms,
c5_c_sf_marshall);
sf_debug_symbol_scope_add("channel_est", c5_b_channel_est, c5_b_sf_marshall);
sf_debug_symbol_scope_add("PilotSubcSymbols", c5_b_PilotSubcSymbols,
c5_sf_marshall);
CV_EML_FCN(0, 0);
_SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,6);
c5_num_symbols = 2.0;
_SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,7);
for(c5_i11 = 0; c5_i11 < 2; c5_i11 = c5_i11 + 1) {
for(c5_i12 = 0; c5_i12 < 48; c5_i12 = c5_i12 + 1) {
c5_b_corrected_syms[c5_i12 + 48 * c5_i11].re = 0.0;
c5_b_corrected_syms[c5_i12 + 48 * c5_i11].im = 0.0;
}
}
/* estimate the phase change using the pilots */
/* correction_phases = rx_pilot_phase_est(freq_pilot_syms, channel_est, sim_options); */
_SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,12);
for(c5_i13 = 0; c5_i13 < 127; c5_i13 = c5_i13 + 1) {
c5_PilotScramble[c5_i13] = c5_dv1[c5_i13];
}
_SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,13);
for(c5_i14 = 0; c5_i14 < 4; c5_i14 = c5_i14 + 1) {
c5_PilotSubcPatt[c5_i14] = c5_dv2[c5_i14];
}
_SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,14);
for(c5_i15 = 0; c5_i15 < 127; c5_i15 = c5_i15 + 1) {
for(c5_i16 = 0; c5_i16 < 4; c5_i16 = c5_i16 + 1) {
c5_scramble_patt[c5_i16 + (c5_i15 << 2)] = c5_dv3[c5_i16 + (c5_i15 << 2)];
}
}
_SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,16);
for(c5_i17 = 0; c5_i17 < 2; c5_i17 = c5_i17 + 1) {
for(c5_i18 = 0; c5_i18 < 4; c5_i18 = c5_i18 + 1) {
c5_scramble_patt1[c5_i18 + (c5_i17 << 2)] = 1.0;
}
}
/* ref_pilots = repmat(PilotSubcSymbols, 1, num_symbols); */
_SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,18);
for(c5_i19 = 0; c5_i19 < 2; c5_i19 = c5_i19 + 1) {
for(c5_i20 = 0; c5_i20 < 4; c5_i20 = c5_i20 + 1) {
c5_ref_pilots[c5_i20 + (c5_i19 << 2)] = c5_b_PilotSubcSymbols[c5_i20 +
(c5_i19 << 2)];
}
}
/* Estimate the symbol rotation from the pilot subcarriers */
/* Different Tx and/or Rx diversity options require different processing of the pilot symbols */
_SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,22);
for(c5_i21 = 0; c5_i21 < 4; c5_i21 = c5_i21 + 1) {
c5_iv0[c5_i21] = (int32_T)_SFD_EML_ARRAY_BOUNDS_CHECK("channel_est",
(int32_T)_SFD_INTEGER_CHECK("PilotSubcPatt", c5_PilotSubcPatt[
c5_i21]), 1, 52, 1) - 1;
}
for(c5_i22 = 0; c5_i22 < 4; c5_i22 = c5_i22 + 1) {
c5_dcv4[c5_i22].re = c5_b_channel_est[c5_iv0[c5_i22]].re;
c5_dcv4[c5_i22].im = c5_b_channel_est[c5_iv0[c5_i22]].im;
}
c5_repmat((creal_T *)c5_dcv4, (creal_T *)c5_dcv5);
for(c5_i23 = 0; c5_i23 < 2; c5_i23 = c5_i23 + 1) {
for(c5_i24 = 0; c5_i24 < 4; c5_i24 = c5_i24 + 1) {
c5_channel_est1[c5_i24 + (c5_i23 << 2)].re = c5_dcv5[c5_i24 + (c5_i23 <<
2)].re;
c5_channel_est1[c5_i24 + (c5_i23 << 2)].im = c5_dcv5[c5_i24 + (c5_i23 <<
2)].im;
}
}
_SFD_EML_CALL(STATE_DURING_DURING_ACTION_TAG,0,23);
for(c5_i25 = 0; c5_i25 < 2; c5_i25 = c5_i25 + 1) {
for(c5_i26 = 0; c5_i26 < 4; c5_i26 = c5_i26 + 1) {
c5_dcv6[c5_i26 + (c5_i25 << 2)].re = c5_b_freq_pilot_syms[c5_i26 + (c5_i25
<< 2)].re;
c5_dcv6[c5_i26 + (c5_i25 << 2)].im = c5_b_freq_pilot_syms[c5_i26 + (c5_i25
<< 2)].im;
}
}
c5_squeeze((creal_T *)c5_dcv6, (creal_T *)c5_dcv7);
for(c5_i27 = 0; c5_i27 < 2; c5_i27 = c5_i27 + 1) {
for(c5_i28 = 0; c5_i28 < 4; c5_i28 = c5_i28 + 1) {
c5_b_ref_pilots.re = c5_ref_pilots[c5_i28 + (c5_i27 << 2)] *
c5_dcv7[c5_i28 + (c5_i27 << 2)].re;
c5_b_ref_pilots.im = c5_ref_pilots[c5_i28 + (c5_i27 << 2)] *
c5_dcv7[c5_i28 + (c5_i27 << 2)].im;
c5_b_channel_est1.re = c5_channel_est1[c5_i28 + (c5_i27 << 2)].re;
c5_b_channel_est1.im = -c5_channel_est1[c5_i28 + (c5_i27 << 2)].im;
c5_c_ref_pilots.re = c5_b_ref_pilots.re * c5_b_channel_est1.re -
c5_b_ref_pilots.im * c5_b_channel_est1.im;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -