# 0 "src/gpio.c" # 1 "/home/alex/code/own/stm32-falling-sand//" # 0 "" #define __STDC__ 1 # 0 "" #define __STDC_VERSION__ 202000L # 0 "" #define __STDC_UTF_16__ 1 # 0 "" #define __STDC_UTF_32__ 1 # 0 "" #define __STDC_HOSTED__ 1 # 0 "" #define __GNUC__ 12 # 0 "" #define __GNUC_MINOR__ 3 # 0 "" #define __GNUC_PATCHLEVEL__ 1 # 0 "" #define __VERSION__ "12.3.1 20230626" # 0 "" #define __ATOMIC_RELAXED 0 # 0 "" #define __ATOMIC_SEQ_CST 5 # 0 "" #define __ATOMIC_ACQUIRE 2 # 0 "" #define __ATOMIC_RELEASE 3 # 0 "" #define __ATOMIC_ACQ_REL 4 # 0 "" #define __ATOMIC_CONSUME 1 # 0 "" #define __FINITE_MATH_ONLY__ 0 # 0 "" #define __SIZEOF_INT__ 4 # 0 "" #define __SIZEOF_LONG__ 4 # 0 "" #define __SIZEOF_LONG_LONG__ 8 # 0 "" #define __SIZEOF_SHORT__ 2 # 0 "" #define __SIZEOF_FLOAT__ 4 # 0 "" #define __SIZEOF_DOUBLE__ 8 # 0 "" #define __SIZEOF_LONG_DOUBLE__ 8 # 0 "" #define __SIZEOF_SIZE_T__ 4 # 0 "" #define __CHAR_BIT__ 8 # 0 "" #define __BIGGEST_ALIGNMENT__ 8 # 0 "" #define __ORDER_LITTLE_ENDIAN__ 1234 # 0 "" #define __ORDER_BIG_ENDIAN__ 4321 # 0 "" #define __ORDER_PDP_ENDIAN__ 3412 # 0 "" #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ # 0 "" #define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ # 0 "" #define __SIZEOF_POINTER__ 4 # 0 "" #define __GNUC_EXECUTION_CHARSET_NAME "UTF-8" # 0 "" #define __GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE" # 0 "" #define __SIZE_TYPE__ unsigned int # 0 "" #define __PTRDIFF_TYPE__ int # 0 "" #define __WCHAR_TYPE__ unsigned int # 0 "" #define __WINT_TYPE__ unsigned int # 0 "" #define __INTMAX_TYPE__ long long int # 0 "" #define __UINTMAX_TYPE__ long long unsigned int # 0 "" #define __CHAR16_TYPE__ short unsigned int # 0 "" #define __CHAR32_TYPE__ long unsigned int # 0 "" #define __SIG_ATOMIC_TYPE__ int # 0 "" #define __INT8_TYPE__ signed char # 0 "" #define __INT16_TYPE__ short int # 0 "" #define __INT32_TYPE__ long int # 0 "" #define __INT64_TYPE__ long long int # 0 "" #define __UINT8_TYPE__ unsigned char # 0 "" #define __UINT16_TYPE__ short unsigned int # 0 "" #define __UINT32_TYPE__ long unsigned int # 0 "" #define __UINT64_TYPE__ long long unsigned int # 0 "" #define __INT_LEAST8_TYPE__ signed char # 0 "" #define __INT_LEAST16_TYPE__ short int # 0 "" #define __INT_LEAST32_TYPE__ long int # 0 "" #define __INT_LEAST64_TYPE__ long long int # 0 "" #define __UINT_LEAST8_TYPE__ unsigned char # 0 "" #define __UINT_LEAST16_TYPE__ short unsigned int # 0 "" #define __UINT_LEAST32_TYPE__ long unsigned int # 0 "" #define __UINT_LEAST64_TYPE__ long long unsigned int # 0 "" #define __INT_FAST8_TYPE__ int # 0 "" #define __INT_FAST16_TYPE__ int # 0 "" #define __INT_FAST32_TYPE__ int # 0 "" #define __INT_FAST64_TYPE__ long long int # 0 "" #define __UINT_FAST8_TYPE__ unsigned int # 0 "" #define __UINT_FAST16_TYPE__ unsigned int # 0 "" #define __UINT_FAST32_TYPE__ unsigned int # 0 "" #define __UINT_FAST64_TYPE__ long long unsigned int # 0 "" #define __INTPTR_TYPE__ int # 0 "" #define __UINTPTR_TYPE__ unsigned int # 0 "" #define __GXX_ABI_VERSION 1017 # 0 "" #define __SCHAR_MAX__ 0x7f # 0 "" #define __SHRT_MAX__ 0x7fff # 0 "" #define __INT_MAX__ 0x7fffffff # 0 "" #define __LONG_MAX__ 0x7fffffffL # 0 "" #define __LONG_LONG_MAX__ 0x7fffffffffffffffLL # 0 "" #define __WCHAR_MAX__ 0xffffffffU # 0 "" #define __WCHAR_MIN__ 0U # 0 "" #define __WINT_MAX__ 0xffffffffU # 0 "" #define __WINT_MIN__ 0U # 0 "" #define __PTRDIFF_MAX__ 0x7fffffff # 0 "" #define __SIZE_MAX__ 0xffffffffU # 0 "" #define __SCHAR_WIDTH__ 8 # 0 "" #define __SHRT_WIDTH__ 16 # 0 "" #define __INT_WIDTH__ 32 # 0 "" #define __LONG_WIDTH__ 32 # 0 "" #define __LONG_LONG_WIDTH__ 64 # 0 "" #define __WCHAR_WIDTH__ 32 # 0 "" #define __WINT_WIDTH__ 32 # 0 "" #define __PTRDIFF_WIDTH__ 32 # 0 "" #define __SIZE_WIDTH__ 32 # 0 "" #define __INTMAX_MAX__ 0x7fffffffffffffffLL # 0 "" #define __INTMAX_C(c) c ## LL # 0 "" #define __UINTMAX_MAX__ 0xffffffffffffffffULL # 0 "" #define __UINTMAX_C(c) c ## ULL # 0 "" #define __INTMAX_WIDTH__ 64 # 0 "" #define __SIG_ATOMIC_MAX__ 0x7fffffff # 0 "" #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) # 0 "" #define __SIG_ATOMIC_WIDTH__ 32 # 0 "" #define __INT8_MAX__ 0x7f # 0 "" #define __INT16_MAX__ 0x7fff # 0 "" #define __INT32_MAX__ 0x7fffffffL # 0 "" #define __INT64_MAX__ 0x7fffffffffffffffLL # 0 "" #define __UINT8_MAX__ 0xff # 0 "" #define __UINT16_MAX__ 0xffff # 0 "" #define __UINT32_MAX__ 0xffffffffUL # 0 "" #define __UINT64_MAX__ 0xffffffffffffffffULL # 0 "" #define __INT_LEAST8_MAX__ 0x7f # 0 "" #define __INT8_C(c) c # 0 "" #define __INT_LEAST8_WIDTH__ 8 # 0 "" #define __INT_LEAST16_MAX__ 0x7fff # 0 "" #define __INT16_C(c) c # 0 "" #define __INT_LEAST16_WIDTH__ 16 # 0 "" #define __INT_LEAST32_MAX__ 0x7fffffffL # 0 "" #define __INT32_C(c) c ## L # 0 "" #define __INT_LEAST32_WIDTH__ 32 # 0 "" #define __INT_LEAST64_MAX__ 0x7fffffffffffffffLL # 0 "" #define __INT64_C(c) c ## LL # 0 "" #define __INT_LEAST64_WIDTH__ 64 # 0 "" #define __UINT_LEAST8_MAX__ 0xff # 0 "" #define __UINT8_C(c) c # 0 "" #define __UINT_LEAST16_MAX__ 0xffff # 0 "" #define __UINT16_C(c) c # 0 "" #define __UINT_LEAST32_MAX__ 0xffffffffUL # 0 "" #define __UINT32_C(c) c ## UL # 0 "" #define __UINT_LEAST64_MAX__ 0xffffffffffffffffULL # 0 "" #define __UINT64_C(c) c ## ULL # 0 "" #define __INT_FAST8_MAX__ 0x7fffffff # 0 "" #define __INT_FAST8_WIDTH__ 32 # 0 "" #define __INT_FAST16_MAX__ 0x7fffffff # 0 "" #define __INT_FAST16_WIDTH__ 32 # 0 "" #define __INT_FAST32_MAX__ 0x7fffffff # 0 "" #define __INT_FAST32_WIDTH__ 32 # 0 "" #define __INT_FAST64_MAX__ 0x7fffffffffffffffLL # 0 "" #define __INT_FAST64_WIDTH__ 64 # 0 "" #define __UINT_FAST8_MAX__ 0xffffffffU # 0 "" #define __UINT_FAST16_MAX__ 0xffffffffU # 0 "" #define __UINT_FAST32_MAX__ 0xffffffffU # 0 "" #define __UINT_FAST64_MAX__ 0xffffffffffffffffULL # 0 "" #define __INTPTR_MAX__ 0x7fffffff # 0 "" #define __INTPTR_WIDTH__ 32 # 0 "" #define __UINTPTR_MAX__ 0xffffffffU # 0 "" #define __GCC_IEC_559 0 # 0 "" #define __GCC_IEC_559_COMPLEX 0 # 0 "" #define __FLT_EVAL_METHOD__ 0 # 0 "" #define __FLT_EVAL_METHOD_TS_18661_3__ 0 # 0 "" #define __DEC_EVAL_METHOD__ 2 # 0 "" #define __FLT_RADIX__ 2 # 0 "" #define __FLT_MANT_DIG__ 24 # 0 "" #define __FLT_DIG__ 6 # 0 "" #define __FLT_MIN_EXP__ (-125) # 0 "" #define __FLT_MIN_10_EXP__ (-37) # 0 "" #define __FLT_MAX_EXP__ 128 # 0 "" #define __FLT_MAX_10_EXP__ 38 # 0 "" #define __FLT_DECIMAL_DIG__ 9 # 0 "" #define __FLT_MAX__ 3.4028234663852886e+38F # 0 "" #define __FLT_NORM_MAX__ 3.4028234663852886e+38F # 0 "" #define __FLT_MIN__ 1.1754943508222875e-38F # 0 "" #define __FLT_EPSILON__ 1.1920928955078125e-7F # 0 "" #define __FLT_DENORM_MIN__ 1.4012984643248171e-45F # 0 "" #define __FLT_HAS_DENORM__ 1 # 0 "" #define __FLT_HAS_INFINITY__ 1 # 0 "" #define __FLT_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF 1 # 0 "" #define __FLT_IS_IEC_60559__ 2 # 0 "" #define __DBL_MANT_DIG__ 53 # 0 "" #define __DBL_DIG__ 15 # 0 "" #define __DBL_MIN_EXP__ (-1021) # 0 "" #define __DBL_MIN_10_EXP__ (-307) # 0 "" #define __DBL_MAX_EXP__ 1024 # 0 "" #define __DBL_MAX_10_EXP__ 308 # 0 "" #define __DBL_DECIMAL_DIG__ 17 # 0 "" #define __DBL_MAX__ ((double)1.7976931348623157e+308L) # 0 "" #define __DBL_NORM_MAX__ ((double)1.7976931348623157e+308L) # 0 "" #define __DBL_MIN__ ((double)2.2250738585072014e-308L) # 0 "" #define __DBL_EPSILON__ ((double)2.2204460492503131e-16L) # 0 "" #define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L) # 0 "" #define __DBL_HAS_DENORM__ 1 # 0 "" #define __DBL_HAS_INFINITY__ 1 # 0 "" #define __DBL_HAS_QUIET_NAN__ 1 # 0 "" #define __DBL_IS_IEC_60559__ 2 # 0 "" #define __LDBL_MANT_DIG__ 53 # 0 "" #define __LDBL_DIG__ 15 # 0 "" #define __LDBL_MIN_EXP__ (-1021) # 0 "" #define __LDBL_MIN_10_EXP__ (-307) # 0 "" #define __LDBL_MAX_EXP__ 1024 # 0 "" #define __LDBL_MAX_10_EXP__ 308 # 0 "" #define __DECIMAL_DIG__ 17 # 0 "" #define __LDBL_DECIMAL_DIG__ 17 # 0 "" #define __LDBL_MAX__ 1.7976931348623157e+308L # 0 "" #define __LDBL_NORM_MAX__ 1.7976931348623157e+308L # 0 "" #define __LDBL_MIN__ 2.2250738585072014e-308L # 0 "" #define __LDBL_EPSILON__ 2.2204460492503131e-16L # 0 "" #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L # 0 "" #define __LDBL_HAS_DENORM__ 1 # 0 "" #define __LDBL_HAS_INFINITY__ 1 # 0 "" #define __LDBL_HAS_QUIET_NAN__ 1 # 0 "" #define __LDBL_IS_IEC_60559__ 2 # 0 "" #define __FLT32_MANT_DIG__ 24 # 0 "" #define __FLT32_DIG__ 6 # 0 "" #define __FLT32_MIN_EXP__ (-125) # 0 "" #define __FLT32_MIN_10_EXP__ (-37) # 0 "" #define __FLT32_MAX_EXP__ 128 # 0 "" #define __FLT32_MAX_10_EXP__ 38 # 0 "" #define __FLT32_DECIMAL_DIG__ 9 # 0 "" #define __FLT32_MAX__ 3.4028234663852886e+38F32 # 0 "" #define __FLT32_NORM_MAX__ 3.4028234663852886e+38F32 # 0 "" #define __FLT32_MIN__ 1.1754943508222875e-38F32 # 0 "" #define __FLT32_EPSILON__ 1.1920928955078125e-7F32 # 0 "" #define __FLT32_DENORM_MIN__ 1.4012984643248171e-45F32 # 0 "" #define __FLT32_HAS_DENORM__ 1 # 0 "" #define __FLT32_HAS_INFINITY__ 1 # 0 "" #define __FLT32_HAS_QUIET_NAN__ 1 # 0 "" #define __FP_FAST_FMAF32 1 # 0 "" #define __FLT32_IS_IEC_60559__ 2 # 0 "" #define __FLT64_MANT_DIG__ 53 # 0 "" #define __FLT64_DIG__ 15 # 0 "" #define __FLT64_MIN_EXP__ (-1021) # 0 "" #define __FLT64_MIN_10_EXP__ (-307) # 0 "" #define __FLT64_MAX_EXP__ 1024 # 0 "" #define __FLT64_MAX_10_EXP__ 308 # 0 "" #define __FLT64_DECIMAL_DIG__ 17 # 0 "" #define __FLT64_MAX__ 1.7976931348623157e+308F64 # 0 "" #define __FLT64_NORM_MAX__ 1.7976931348623157e+308F64 # 0 "" #define __FLT64_MIN__ 2.2250738585072014e-308F64 # 0 "" #define __FLT64_EPSILON__ 2.2204460492503131e-16F64 # 0 "" #define __FLT64_DENORM_MIN__ 4.9406564584124654e-324F64 # 0 "" #define __FLT64_HAS_DENORM__ 1 # 0 "" #define __FLT64_HAS_INFINITY__ 1 # 0 "" #define __FLT64_HAS_QUIET_NAN__ 1 # 0 "" #define __FLT64_IS_IEC_60559__ 2 # 0 "" #define __FLT32X_MANT_DIG__ 53 # 0 "" #define __FLT32X_DIG__ 15 # 0 "" #define __FLT32X_MIN_EXP__ (-1021) # 0 "" #define __FLT32X_MIN_10_EXP__ (-307) # 0 "" #define __FLT32X_MAX_EXP__ 1024 # 0 "" #define __FLT32X_MAX_10_EXP__ 308 # 0 "" #define __FLT32X_DECIMAL_DIG__ 17 # 0 "" #define __FLT32X_MAX__ 1.7976931348623157e+308F32x # 0 "" #define __FLT32X_NORM_MAX__ 1.7976931348623157e+308F32x # 0 "" #define __FLT32X_MIN__ 2.2250738585072014e-308F32x # 0 "" #define __FLT32X_EPSILON__ 2.2204460492503131e-16F32x # 0 "" #define __FLT32X_DENORM_MIN__ 4.9406564584124654e-324F32x # 0 "" #define __FLT32X_HAS_DENORM__ 1 # 0 "" #define __FLT32X_HAS_INFINITY__ 1 # 0 "" #define __FLT32X_HAS_QUIET_NAN__ 1 # 0 "" #define __FLT32X_IS_IEC_60559__ 2 # 0 "" #define __SFRACT_FBIT__ 7 # 0 "" #define __SFRACT_IBIT__ 0 # 0 "" #define __SFRACT_MIN__ (-0.5HR-0.5HR) # 0 "" #define __SFRACT_MAX__ 0X7FP-7HR # 0 "" #define __SFRACT_EPSILON__ 0x1P-7HR # 0 "" #define __USFRACT_FBIT__ 8 # 0 "" #define __USFRACT_IBIT__ 0 # 0 "" #define __USFRACT_MIN__ 0.0UHR # 0 "" #define __USFRACT_MAX__ 0XFFP-8UHR # 0 "" #define __USFRACT_EPSILON__ 0x1P-8UHR # 0 "" #define __FRACT_FBIT__ 15 # 0 "" #define __FRACT_IBIT__ 0 # 0 "" #define __FRACT_MIN__ (-0.5R-0.5R) # 0 "" #define __FRACT_MAX__ 0X7FFFP-15R # 0 "" #define __FRACT_EPSILON__ 0x1P-15R # 0 "" #define __UFRACT_FBIT__ 16 # 0 "" #define __UFRACT_IBIT__ 0 # 0 "" #define __UFRACT_MIN__ 0.0UR # 0 "" #define __UFRACT_MAX__ 0XFFFFP-16UR # 0 "" #define __UFRACT_EPSILON__ 0x1P-16UR # 0 "" #define __LFRACT_FBIT__ 31 # 0 "" #define __LFRACT_IBIT__ 0 # 0 "" #define __LFRACT_MIN__ (-0.5LR-0.5LR) # 0 "" #define __LFRACT_MAX__ 0X7FFFFFFFP-31LR # 0 "" #define __LFRACT_EPSILON__ 0x1P-31LR # 0 "" #define __ULFRACT_FBIT__ 32 # 0 "" #define __ULFRACT_IBIT__ 0 # 0 "" #define __ULFRACT_MIN__ 0.0ULR # 0 "" #define __ULFRACT_MAX__ 0XFFFFFFFFP-32ULR # 0 "" #define __ULFRACT_EPSILON__ 0x1P-32ULR # 0 "" #define __LLFRACT_FBIT__ 63 # 0 "" #define __LLFRACT_IBIT__ 0 # 0 "" #define __LLFRACT_MIN__ (-0.5LLR-0.5LLR) # 0 "" #define __LLFRACT_MAX__ 0X7FFFFFFFFFFFFFFFP-63LLR # 0 "" #define __LLFRACT_EPSILON__ 0x1P-63LLR # 0 "" #define __ULLFRACT_FBIT__ 64 # 0 "" #define __ULLFRACT_IBIT__ 0 # 0 "" #define __ULLFRACT_MIN__ 0.0ULLR # 0 "" #define __ULLFRACT_MAX__ 0XFFFFFFFFFFFFFFFFP-64ULLR # 0 "" #define __ULLFRACT_EPSILON__ 0x1P-64ULLR # 0 "" #define __SACCUM_FBIT__ 7 # 0 "" #define __SACCUM_IBIT__ 8 # 0 "" #define __SACCUM_MIN__ (-0X1P7HK-0X1P7HK) # 0 "" #define __SACCUM_MAX__ 0X7FFFP-7HK # 0 "" #define __SACCUM_EPSILON__ 0x1P-7HK # 0 "" #define __USACCUM_FBIT__ 8 # 0 "" #define __USACCUM_IBIT__ 8 # 0 "" #define __USACCUM_MIN__ 0.0UHK # 0 "" #define __USACCUM_MAX__ 0XFFFFP-8UHK # 0 "" #define __USACCUM_EPSILON__ 0x1P-8UHK # 0 "" #define __ACCUM_FBIT__ 15 # 0 "" #define __ACCUM_IBIT__ 16 # 0 "" #define __ACCUM_MIN__ (-0X1P15K-0X1P15K) # 0 "" #define __ACCUM_MAX__ 0X7FFFFFFFP-15K # 0 "" #define __ACCUM_EPSILON__ 0x1P-15K # 0 "" #define __UACCUM_FBIT__ 16 # 0 "" #define __UACCUM_IBIT__ 16 # 0 "" #define __UACCUM_MIN__ 0.0UK # 0 "" #define __UACCUM_MAX__ 0XFFFFFFFFP-16UK # 0 "" #define __UACCUM_EPSILON__ 0x1P-16UK # 0 "" #define __LACCUM_FBIT__ 31 # 0 "" #define __LACCUM_IBIT__ 32 # 0 "" #define __LACCUM_MIN__ (-0X1P31LK-0X1P31LK) # 0 "" #define __LACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LK # 0 "" #define __LACCUM_EPSILON__ 0x1P-31LK # 0 "" #define __ULACCUM_FBIT__ 32 # 0 "" #define __ULACCUM_IBIT__ 32 # 0 "" #define __ULACCUM_MIN__ 0.0ULK # 0 "" #define __ULACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULK # 0 "" #define __ULACCUM_EPSILON__ 0x1P-32ULK # 0 "" #define __LLACCUM_FBIT__ 31 # 0 "" #define __LLACCUM_IBIT__ 32 # 0 "" #define __LLACCUM_MIN__ (-0X1P31LLK-0X1P31LLK) # 0 "" #define __LLACCUM_MAX__ 0X7FFFFFFFFFFFFFFFP-31LLK # 0 "" #define __LLACCUM_EPSILON__ 0x1P-31LLK # 0 "" #define __ULLACCUM_FBIT__ 32 # 0 "" #define __ULLACCUM_IBIT__ 32 # 0 "" #define __ULLACCUM_MIN__ 0.0ULLK # 0 "" #define __ULLACCUM_MAX__ 0XFFFFFFFFFFFFFFFFP-32ULLK # 0 "" #define __ULLACCUM_EPSILON__ 0x1P-32ULLK # 0 "" #define __QQ_FBIT__ 7 # 0 "" #define __QQ_IBIT__ 0 # 0 "" #define __HQ_FBIT__ 15 # 0 "" #define __HQ_IBIT__ 0 # 0 "" #define __SQ_FBIT__ 31 # 0 "" #define __SQ_IBIT__ 0 # 0 "" #define __DQ_FBIT__ 63 # 0 "" #define __DQ_IBIT__ 0 # 0 "" #define __TQ_FBIT__ 127 # 0 "" #define __TQ_IBIT__ 0 # 0 "" #define __UQQ_FBIT__ 8 # 0 "" #define __UQQ_IBIT__ 0 # 0 "" #define __UHQ_FBIT__ 16 # 0 "" #define __UHQ_IBIT__ 0 # 0 "" #define __USQ_FBIT__ 32 # 0 "" #define __USQ_IBIT__ 0 # 0 "" #define __UDQ_FBIT__ 64 # 0 "" #define __UDQ_IBIT__ 0 # 0 "" #define __UTQ_FBIT__ 128 # 0 "" #define __UTQ_IBIT__ 0 # 0 "" #define __HA_FBIT__ 7 # 0 "" #define __HA_IBIT__ 8 # 0 "" #define __SA_FBIT__ 15 # 0 "" #define __SA_IBIT__ 16 # 0 "" #define __DA_FBIT__ 31 # 0 "" #define __DA_IBIT__ 32 # 0 "" #define __TA_FBIT__ 63 # 0 "" #define __TA_IBIT__ 64 # 0 "" #define __UHA_FBIT__ 8 # 0 "" #define __UHA_IBIT__ 8 # 0 "" #define __USA_FBIT__ 16 # 0 "" #define __USA_IBIT__ 16 # 0 "" #define __UDA_FBIT__ 32 # 0 "" #define __UDA_IBIT__ 32 # 0 "" #define __UTA_FBIT__ 64 # 0 "" #define __UTA_IBIT__ 64 # 0 "" #define __REGISTER_PREFIX__ # 0 "" #define __USER_LABEL_PREFIX__ # 0 "" #define __GNUC_STDC_INLINE__ 1 # 0 "" #define __NO_INLINE__ 1 # 0 "" #define __STRICT_ANSI__ 1 # 0 "" #define __CHAR_UNSIGNED__ 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 # 0 "" #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 # 0 "" #define __GCC_ATOMIC_BOOL_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_CHAR_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_SHORT_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_INT_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_LONG_LOCK_FREE 2 # 0 "" #define __GCC_ATOMIC_LLONG_LOCK_FREE 1 # 0 "" #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 # 0 "" #define __GCC_DESTRUCTIVE_SIZE 64 # 0 "" #define __GCC_CONSTRUCTIVE_SIZE 64 # 0 "" #define __GCC_ATOMIC_POINTER_LOCK_FREE 2 # 0 "" #define __HAVE_SPECULATION_SAFE_VALUE 1 # 0 "" #define __GCC_HAVE_DWARF2_CFI_ASM 1 # 0 "" #define __PRAGMA_REDEFINE_EXTNAME 1 # 0 "" #define __SIZEOF_WCHAR_T__ 4 # 0 "" #define __SIZEOF_WINT_T__ 4 # 0 "" #define __SIZEOF_PTRDIFF_T__ 4 # 0 "" #define __ARM_FEATURE_DSP 1 # 0 "" #define __ARM_FEATURE_QBIT 1 # 0 "" #define __ARM_FEATURE_SAT 1 # 0 "" #undef __ARM_FEATURE_CRYPTO # 0 "" #define __ARM_FEATURE_UNALIGNED 1 # 0 "" #undef __ARM_FEATURE_QRDMX # 0 "" #undef __ARM_FEATURE_CRC32 # 0 "" #undef __ARM_FEATURE_DOTPROD # 0 "" #undef __ARM_FEATURE_COMPLEX # 0 "" #define __ARM_32BIT_STATE 1 # 0 "" #undef __ARM_FEATURE_MVE # 0 "" #undef __ARM_FEATURE_CMSE # 0 "" #undef __ARM_FEATURE_LDREX # 0 "" #define __ARM_FEATURE_LDREX 7 # 0 "" #define __ARM_FEATURE_CLZ 1 # 0 "" #undef __ARM_FEATURE_NUMERIC_MAXMIN # 0 "" #define __ARM_FEATURE_SIMD32 1 # 0 "" #define __ARM_SIZEOF_MINIMAL_ENUM 1 # 0 "" #define __ARM_SIZEOF_WCHAR_T 4 # 0 "" #undef __ARM_ARCH_PROFILE # 0 "" #define __ARM_ARCH_PROFILE 77 # 0 "" #define __arm__ 1 # 0 "" #undef __ARM_ARCH # 0 "" #define __ARM_ARCH 7 # 0 "" #define __APCS_32__ 1 # 0 "" #define __GCC_ASM_FLAG_OUTPUTS__ 1 # 0 "" #define __thumb__ 1 # 0 "" #define __thumb2__ 1 # 0 "" #define __THUMBEL__ 1 # 0 "" #undef __ARM_ARCH_ISA_THUMB # 0 "" #define __ARM_ARCH_ISA_THUMB 2 # 0 "" #define __ARMEL__ 1 # 0 "" #define __VFP_FP__ 1 # 0 "" #undef __ARM_FP # 0 "" #define __ARM_FP 4 # 0 "" #undef __ARM_FP16_FORMAT_IEEE # 0 "" #undef __ARM_FP16_FORMAT_ALTERNATIVE # 0 "" #undef __ARM_FP16_ARGS # 0 "" #undef __ARM_FEATURE_FP16_SCALAR_ARITHMETIC # 0 "" #undef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC # 0 "" #undef __ARM_FEATURE_FP16_FML # 0 "" #define __ARM_FEATURE_FMA 1 # 0 "" #undef __ARM_NEON__ # 0 "" #undef __ARM_NEON # 0 "" #undef __ARM_NEON_FP # 0 "" #define __THUMB_INTERWORK__ 1 # 0 "" #define __ARM_ARCH_7EM__ 1 # 0 "" #define __ARM_PCS_VFP 1 # 0 "" #define __ARM_EABI__ 1 # 0 "" #undef __FDPIC__ # 0 "" #define __ARM_ARCH_EXT_IDIV__ 1 # 0 "" #define __ARM_FEATURE_IDIV 1 # 0 "" #define __ARM_ASM_SYNTAX_UNIFIED__ 1 # 0 "" #undef __ARM_FEATURE_COPROC # 0 "" #define __ARM_FEATURE_COPROC 15 # 0 "" #undef __ARM_FEATURE_CDE # 0 "" #undef __ARM_FEATURE_CDE_COPROC # 0 "" #undef __ARM_FEATURE_MATMUL_INT8 # 0 "" #undef __ARM_FEATURE_BF16_SCALAR_ARITHMETIC # 0 "" #undef __ARM_FEATURE_BF16_VECTOR_ARITHMETIC # 0 "" #undef __ARM_BF16_FORMAT_ALTERNATIVE # 0 "" #define __GXX_TYPEINFO_EQUALITY_INLINE 0 # 0 "" #define __ELF__ 1 # 0 "" #define __USES_INITFINI__ 1 # 1 "src/gpio.c" # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 1 3 # 14 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 3 #define _INTTYPES_H # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 1 3 #define __NEWLIB_H__ 1 # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_newlib_version.h" 1 3 #define _NEWLIB_VERSION_H__ 1 #define _NEWLIB_VERSION "4.3.0" #define __NEWLIB__ 4 #define __NEWLIB_MINOR__ 3 #define __NEWLIB_PATCHLEVEL__ 0 # 11 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 2 3 # 27 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 3 #define _ATEXIT_DYNAMIC_ALLOC 1 #define _FSEEK_OPTIMIZATION 1 #define _FVWRITE_IN_STREAMIO 1 #define _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL 1 #define _HAVE_INITFINI_ARRAY 1 #define _HAVE_LONG_DOUBLE 1 # 355 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 3 #define _LDBL_EQ_DBL 1 #define _MB_CAPABLE 1 #define _MB_LEN_MAX 8 # 373 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 3 #define _REENT_CHECK_VERIFY 1 #define _RETARGETABLE_LOCKING 1 #define _UNBUF_STREAM_OPT 1 #define _WANT_IO_C99_FORMATS 1 #define _WANT_IO_LONG_LONG 1 # 408 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/newlib.h" 3 #define _WANT_REGISTER_FINI 1 #define _WANT_USE_GDTOA 1 #define _WIDE_ORIENT 1 # 17 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 1 3 #define __SYS_CONFIG_H__ # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" 1 3 # 77 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" 3 #define __IEEE_LITTLE_ENDIAN # 91 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" 3 #define _SUPPORTS_ERREXCEPT #define __DOUBLE_TYPE double #define __FLOAT_TYPE float # 515 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/ieeefp.h" 3 #define __OBSOLETE_MATH_DEFAULT 1 #define __OBSOLETE_MATH __OBSOLETE_MATH_DEFAULT # 5 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 2 3 # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 1 3 # 22 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 #define _SYS_FEATURES_H # 33 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 #define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) #define __GNUC_PREREQ__(ma,mi) __GNUC_PREREQ(ma, mi) # 249 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 #define __ATFILE_VISIBLE 0 #define __BSD_VISIBLE 0 #define __GNU_VISIBLE 0 #define __ISO_C_VISIBLE 2011 # 277 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 #define __LARGEFILE_VISIBLE 0 #define __MISC_VISIBLE 0 # 299 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 #define __POSIX_VISIBLE 0 #define __SVID_VISIBLE 0 # 319 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 #define __XSI_VISIBLE 0 # 331 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/features.h" 3 #define __SSP_FORTIFY_LEVEL 0 # 6 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 2 3 # 224 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 3 #define _POINTER_INT long #undef __RAND_MAX #define __RAND_MAX 0x7fffffff # 248 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 3 #define __EXPORT #define __IMPORT #define _READ_WRITE_RETURN_TYPE int #define _READ_WRITE_BUFSIZE_TYPE int # 290 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/config.h" 3 #define _USE_GDTOA # 18 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 1 3 # 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define _SYS__INTSUP_H #define __STDINT_EXP(x) __ ##x ##__ # 35 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #undef signed #undef unsigned #undef char #undef short #undef int #undef __int20 #undef __int20__ #undef long #define signed +0 #define unsigned +0 #define char +0 #define short +1 #define __int20 +2 #define __int20__ +2 #define int +2 #define long +4 # 67 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define _INTPTR_EQ_INT #define _INT32_EQ_LONG #define __INT8 "hh" # 93 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define __INT16 "h" # 104 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define __INT32 "l" # 113 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define __INT64 "ll" #define __FAST8 # 129 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define __FAST16 #define __FAST32 # 147 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define __FAST64 "ll" #define __LEAST8 "hh" # 162 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define __LEAST16 "h" # 173 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define __LEAST32 "l" # 182 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #define __LEAST64 "ll" #undef signed #undef unsigned #undef char #undef short #undef int #undef long # 194 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #undef __int20 # 195 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_intsup.h" 3 #undef __int20__ # 19 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_ansi.h" 1 3 #define _ANSIDECL_H_ # 31 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_ansi.h" 3 #define _BEGIN_STD_C #define _END_STD_C #define _NOTHROW #define _LONG_DOUBLE long double #define _ATTRIBUTE(attrs) __attribute__ (attrs) # 69 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/_ansi.h" 3 #define _ELIDABLE_INLINE static __inline__ #define _NOINLINE __attribute__ ((__noinline__)) #define _NOINLINE_STATIC _NOINLINE static # 20 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" 1 3 4 # 9 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" 3 4 # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 1 3 4 # 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define _STDINT_H # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 1 3 4 #define _MACHINE__DEFAULT_TYPES_H # 15 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 #define __EXP(x) __ ##x ##__ # 26 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 #define __have_longlong64 1 #define __have_long32 1 # 41 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 typedef signed char __int8_t; typedef unsigned char __uint8_t; #define ___int8_t_defined 1 typedef short int __int16_t; typedef short unsigned int __uint16_t; #define ___int16_t_defined 1 # 77 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 typedef long int __int32_t; typedef long unsigned int __uint32_t; #define ___int32_t_defined 1 # 103 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 typedef long long int __int64_t; typedef long long unsigned int __uint64_t; #define ___int64_t_defined 1 # 134 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 typedef signed char __int_least8_t; typedef unsigned char __uint_least8_t; #define ___int_least8_t_defined 1 # 160 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 typedef short int __int_least16_t; typedef short unsigned int __uint_least16_t; #define ___int_least16_t_defined 1 # 182 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 typedef long int __int_least32_t; typedef long unsigned int __uint_least32_t; #define ___int_least32_t_defined 1 # 200 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 typedef long long int __int_least64_t; typedef long long unsigned int __uint_least64_t; #define ___int_least64_t_defined 1 typedef long long int __intmax_t; typedef long long unsigned int __uintmax_t; typedef int __intptr_t; typedef unsigned int __uintptr_t; # 244 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/machine/_default_types.h" 3 4 #undef __EXP # 13 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 2 3 4 # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" 1 3 4 # 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" 3 4 #define _SYS__STDINT_H # 20 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/sys/_stdint.h" 3 4 typedef __int8_t int8_t ; #define _INT8_T_DECLARED typedef __uint8_t uint8_t ; #define _UINT8_T_DECLARED #define __int8_t_defined 1 typedef __int16_t int16_t ; #define _INT16_T_DECLARED typedef __uint16_t uint16_t ; #define _UINT16_T_DECLARED #define __int16_t_defined 1 typedef __int32_t int32_t ; #define _INT32_T_DECLARED typedef __uint32_t uint32_t ; #define _UINT32_T_DECLARED #define __int32_t_defined 1 typedef __int64_t int64_t ; #define _INT64_T_DECLARED typedef __uint64_t uint64_t ; #define _UINT64_T_DECLARED #define __int64_t_defined 1 typedef __intmax_t intmax_t; #define _INTMAX_T_DECLARED typedef __uintmax_t uintmax_t; #define _UINTMAX_T_DECLARED typedef __intptr_t intptr_t; #define _INTPTR_T_DECLARED typedef __uintptr_t uintptr_t; #define _UINTPTR_T_DECLARED # 15 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 2 3 4 typedef __int_least8_t int_least8_t; typedef __uint_least8_t uint_least8_t; #define __int_least8_t_defined 1 typedef __int_least16_t int_least16_t; typedef __uint_least16_t uint_least16_t; #define __int_least16_t_defined 1 typedef __int_least32_t int_least32_t; typedef __uint_least32_t uint_least32_t; #define __int_least32_t_defined 1 typedef __int_least64_t int_least64_t; typedef __uint_least64_t uint_least64_t; #define __int_least64_t_defined 1 # 51 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 typedef int int_fast8_t; typedef unsigned int uint_fast8_t; #define __int_fast8_t_defined 1 typedef int int_fast16_t; typedef unsigned int uint_fast16_t; #define __int_fast16_t_defined 1 typedef int int_fast32_t; typedef unsigned int uint_fast32_t; #define __int_fast32_t_defined 1 typedef long long int int_fast64_t; typedef long long unsigned int uint_fast64_t; #define __int_fast64_t_defined 1 # 128 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INTPTR_MIN (-__INTPTR_MAX__ - 1) #define INTPTR_MAX (__INTPTR_MAX__) #define UINTPTR_MAX (__UINTPTR_MAX__) # 152 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT8_MIN (-__INT8_MAX__ - 1) #define INT8_MAX (__INT8_MAX__) #define UINT8_MAX (__UINT8_MAX__) #define INT_LEAST8_MIN (-__INT_LEAST8_MAX__ - 1) #define INT_LEAST8_MAX (__INT_LEAST8_MAX__) #define UINT_LEAST8_MAX (__UINT_LEAST8_MAX__) # 174 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT16_MIN (-__INT16_MAX__ - 1) #define INT16_MAX (__INT16_MAX__) #define UINT16_MAX (__UINT16_MAX__) #define INT_LEAST16_MIN (-__INT_LEAST16_MAX__ - 1) #define INT_LEAST16_MAX (__INT_LEAST16_MAX__) #define UINT_LEAST16_MAX (__UINT_LEAST16_MAX__) # 196 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT32_MIN (-__INT32_MAX__ - 1) #define INT32_MAX (__INT32_MAX__) #define UINT32_MAX (__UINT32_MAX__) # 212 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT_LEAST32_MIN (-__INT_LEAST32_MAX__ - 1) #define INT_LEAST32_MAX (__INT_LEAST32_MAX__) #define UINT_LEAST32_MAX (__UINT_LEAST32_MAX__) # 230 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT64_MIN (-__INT64_MAX__ - 1) #define INT64_MAX (__INT64_MAX__) #define UINT64_MAX (__UINT64_MAX__) # 246 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT_LEAST64_MIN (-__INT_LEAST64_MAX__ - 1) #define INT_LEAST64_MAX (__INT_LEAST64_MAX__) #define UINT_LEAST64_MAX (__UINT_LEAST64_MAX__) # 262 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT_FAST8_MIN (-__INT_FAST8_MAX__ - 1) #define INT_FAST8_MAX (__INT_FAST8_MAX__) #define UINT_FAST8_MAX (__UINT_FAST8_MAX__) # 278 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT_FAST16_MIN (-__INT_FAST16_MAX__ - 1) #define INT_FAST16_MAX (__INT_FAST16_MAX__) #define UINT_FAST16_MAX (__UINT_FAST16_MAX__) # 294 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT_FAST32_MIN (-__INT_FAST32_MAX__ - 1) #define INT_FAST32_MAX (__INT_FAST32_MAX__) #define UINT_FAST32_MAX (__UINT_FAST32_MAX__) # 310 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT_FAST64_MIN (-__INT_FAST64_MAX__ - 1) #define INT_FAST64_MAX (__INT_FAST64_MAX__) #define UINT_FAST64_MAX (__UINT_FAST64_MAX__) # 326 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INTMAX_MAX (__INTMAX_MAX__) #define INTMAX_MIN (-INTMAX_MAX - 1) #define UINTMAX_MAX (__UINTMAX_MAX__) #define SIZE_MAX (__SIZE_MAX__) #define SIG_ATOMIC_MIN (-__STDINT_EXP(INT_MAX) - 1) #define SIG_ATOMIC_MAX (__STDINT_EXP(INT_MAX)) #define PTRDIFF_MAX (__PTRDIFF_MAX__) #define PTRDIFF_MIN (-PTRDIFF_MAX - 1) #define WCHAR_MIN (__WCHAR_MIN__) # 374 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define WCHAR_MAX (__WCHAR_MAX__) # 384 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define WINT_MAX (__WINT_MAX__) #define WINT_MIN (__WINT_MIN__) #define INT8_C(x) __INT8_C(x) #define UINT8_C(x) __UINT8_C(x) # 408 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT16_C(x) __INT16_C(x) #define UINT16_C(x) __UINT16_C(x) # 420 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT32_C(x) __INT32_C(x) #define UINT32_C(x) __UINT32_C(x) # 433 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INT64_C(x) __INT64_C(x) #define UINT64_C(x) __UINT64_C(x) # 449 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/stdint.h" 3 4 #define INTMAX_C(x) __INTMAX_C(x) #define UINTMAX_C(x) __UINTMAX_C(x) # 10 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdint.h" 2 3 4 #define _GCC_WRAP_STDINT_H # 21 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 #define __need_wchar_t # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 1 3 4 # 267 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 #define __wchar_t__ #define __WCHAR_T__ #define _WCHAR_T #define _T_WCHAR_ #define _T_WCHAR #define __WCHAR_T #define _WCHAR_T_ #define _BSD_WCHAR_T_ #define _WCHAR_T_DEFINED_ #define _WCHAR_T_DEFINED #define _WCHAR_T_H #define ___int_wchar_t_h #define __INT_WCHAR_T_H #define _GCC_WCHAR_T #define _WCHAR_T_DECLARED #define __DEFINED_wchar_t # 295 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 #undef _BSD_WCHAR_T_ # 329 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 typedef unsigned int wchar_t; # 349 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 #undef __need_wchar_t # 410 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stddef.h" 3 4 #undef __need_NULL # 23 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 2 3 #define __STRINGIFY(a) #a #define __PRI8(x) __INT8 __STRINGIFY(x) #define __PRI8LEAST(x) __LEAST8 __STRINGIFY(x) #define __PRI8FAST(x) __FAST8 __STRINGIFY(x) # 46 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 3 #define __SCN8(x) __INT8 __STRINGIFY(x) #define __SCN8LEAST(x) __LEAST8 __STRINGIFY(x) #define __SCN8FAST(x) __FAST8 __STRINGIFY(x) #define PRId8 __PRI8(d) #define PRIi8 __PRI8(i) #define PRIo8 __PRI8(o) #define PRIu8 __PRI8(u) #define PRIx8 __PRI8(x) #define PRIX8 __PRI8(X) #define SCNd8 __SCN8(d) #define SCNi8 __SCN8(i) #define SCNo8 __SCN8(o) #define SCNu8 __SCN8(u) #define SCNx8 __SCN8(x) #define PRIdLEAST8 __PRI8LEAST(d) #define PRIiLEAST8 __PRI8LEAST(i) #define PRIoLEAST8 __PRI8LEAST(o) #define PRIuLEAST8 __PRI8LEAST(u) #define PRIxLEAST8 __PRI8LEAST(x) #define PRIXLEAST8 __PRI8LEAST(X) #define SCNdLEAST8 __SCN8LEAST(d) #define SCNiLEAST8 __SCN8LEAST(i) #define SCNoLEAST8 __SCN8LEAST(o) #define SCNuLEAST8 __SCN8LEAST(u) #define SCNxLEAST8 __SCN8LEAST(x) #define PRIdFAST8 __PRI8FAST(d) #define PRIiFAST8 __PRI8FAST(i) #define PRIoFAST8 __PRI8FAST(o) #define PRIuFAST8 __PRI8FAST(u) #define PRIxFAST8 __PRI8FAST(x) #define PRIXFAST8 __PRI8FAST(X) #define SCNdFAST8 __SCN8FAST(d) #define SCNiFAST8 __SCN8FAST(i) #define SCNoFAST8 __SCN8FAST(o) #define SCNuFAST8 __SCN8FAST(u) #define SCNxFAST8 __SCN8FAST(x) #define __PRI16(x) __INT16 __STRINGIFY(x) #define __PRI16LEAST(x) __LEAST16 __STRINGIFY(x) #define __PRI16FAST(x) __FAST16 __STRINGIFY(x) #define __SCN16(x) __INT16 __STRINGIFY(x) #define __SCN16LEAST(x) __LEAST16 __STRINGIFY(x) #define __SCN16FAST(x) __FAST16 __STRINGIFY(x) #define PRId16 __PRI16(d) #define PRIi16 __PRI16(i) #define PRIo16 __PRI16(o) #define PRIu16 __PRI16(u) #define PRIx16 __PRI16(x) #define PRIX16 __PRI16(X) #define SCNd16 __SCN16(d) #define SCNi16 __SCN16(i) #define SCNo16 __SCN16(o) #define SCNu16 __SCN16(u) #define SCNx16 __SCN16(x) #define PRIdLEAST16 __PRI16LEAST(d) #define PRIiLEAST16 __PRI16LEAST(i) #define PRIoLEAST16 __PRI16LEAST(o) #define PRIuLEAST16 __PRI16LEAST(u) #define PRIxLEAST16 __PRI16LEAST(x) #define PRIXLEAST16 __PRI16LEAST(X) #define SCNdLEAST16 __SCN16LEAST(d) #define SCNiLEAST16 __SCN16LEAST(i) #define SCNoLEAST16 __SCN16LEAST(o) #define SCNuLEAST16 __SCN16LEAST(u) #define SCNxLEAST16 __SCN16LEAST(x) #define PRIdFAST16 __PRI16FAST(d) #define PRIiFAST16 __PRI16FAST(i) #define PRIoFAST16 __PRI16FAST(o) #define PRIuFAST16 __PRI16FAST(u) #define PRIxFAST16 __PRI16FAST(x) #define PRIXFAST16 __PRI16FAST(X) #define SCNdFAST16 __SCN16FAST(d) #define SCNiFAST16 __SCN16FAST(i) #define SCNoFAST16 __SCN16FAST(o) #define SCNuFAST16 __SCN16FAST(u) #define SCNxFAST16 __SCN16FAST(x) #define __PRI32(x) __INT32 __STRINGIFY(x) #define __SCN32(x) __INT32 __STRINGIFY(x) #define __PRI32LEAST(x) __LEAST32 __STRINGIFY(x) #define __SCN32LEAST(x) __LEAST32 __STRINGIFY(x) #define __PRI32FAST(x) __FAST32 __STRINGIFY(x) #define __SCN32FAST(x) __FAST32 __STRINGIFY(x) #define PRId32 __PRI32(d) #define PRIi32 __PRI32(i) #define PRIo32 __PRI32(o) #define PRIu32 __PRI32(u) #define PRIx32 __PRI32(x) #define PRIX32 __PRI32(X) #define SCNd32 __SCN32(d) #define SCNi32 __SCN32(i) #define SCNo32 __SCN32(o) #define SCNu32 __SCN32(u) #define SCNx32 __SCN32(x) #define PRIdLEAST32 __PRI32LEAST(d) #define PRIiLEAST32 __PRI32LEAST(i) #define PRIoLEAST32 __PRI32LEAST(o) #define PRIuLEAST32 __PRI32LEAST(u) #define PRIxLEAST32 __PRI32LEAST(x) #define PRIXLEAST32 __PRI32LEAST(X) #define SCNdLEAST32 __SCN32LEAST(d) #define SCNiLEAST32 __SCN32LEAST(i) #define SCNoLEAST32 __SCN32LEAST(o) #define SCNuLEAST32 __SCN32LEAST(u) #define SCNxLEAST32 __SCN32LEAST(x) #define PRIdFAST32 __PRI32FAST(d) #define PRIiFAST32 __PRI32FAST(i) #define PRIoFAST32 __PRI32FAST(o) #define PRIuFAST32 __PRI32FAST(u) #define PRIxFAST32 __PRI32FAST(x) #define PRIXFAST32 __PRI32FAST(X) #define SCNdFAST32 __SCN32FAST(d) #define SCNiFAST32 __SCN32FAST(i) #define SCNoFAST32 __SCN32FAST(o) #define SCNuFAST32 __SCN32FAST(u) #define SCNxFAST32 __SCN32FAST(x) #define __PRI64(x) __INT64 __STRINGIFY(x) #define __SCN64(x) __INT64 __STRINGIFY(x) #define __PRI64LEAST(x) __LEAST64 __STRINGIFY(x) #define __SCN64LEAST(x) __LEAST64 __STRINGIFY(x) #define __PRI64FAST(x) __FAST64 __STRINGIFY(x) #define __SCN64FAST(x) __FAST64 __STRINGIFY(x) #define PRId64 __PRI64(d) #define PRIi64 __PRI64(i) #define PRIo64 __PRI64(o) #define PRIu64 __PRI64(u) #define PRIx64 __PRI64(x) #define PRIX64 __PRI64(X) #define SCNd64 __SCN64(d) #define SCNi64 __SCN64(i) #define SCNo64 __SCN64(o) #define SCNu64 __SCN64(u) #define SCNx64 __SCN64(x) #define PRIdLEAST64 __PRI64LEAST(d) #define PRIiLEAST64 __PRI64LEAST(i) #define PRIoLEAST64 __PRI64LEAST(o) #define PRIuLEAST64 __PRI64LEAST(u) #define PRIxLEAST64 __PRI64LEAST(x) #define PRIXLEAST64 __PRI64LEAST(X) #define SCNdLEAST64 __SCN64LEAST(d) #define SCNiLEAST64 __SCN64LEAST(i) #define SCNoLEAST64 __SCN64LEAST(o) #define SCNuLEAST64 __SCN64LEAST(u) #define SCNxLEAST64 __SCN64LEAST(x) #define PRIdFAST64 __PRI64FAST(d) #define PRIiFAST64 __PRI64FAST(i) #define PRIoFAST64 __PRI64FAST(o) #define PRIuFAST64 __PRI64FAST(u) #define PRIxFAST64 __PRI64FAST(x) #define PRIXFAST64 __PRI64FAST(X) #define SCNdFAST64 __SCN64FAST(d) #define SCNiFAST64 __SCN64FAST(i) #define SCNoFAST64 __SCN64FAST(o) #define SCNuFAST64 __SCN64FAST(u) #define SCNxFAST64 __SCN64FAST(x) #define __PRIMAX(x) __STRINGIFY(ll ##x) #define __SCNMAX(x) __STRINGIFY(ll ##x) #define PRIdMAX __PRIMAX(d) #define PRIiMAX __PRIMAX(i) #define PRIoMAX __PRIMAX(o) #define PRIuMAX __PRIMAX(u) #define PRIxMAX __PRIMAX(x) #define PRIXMAX __PRIMAX(X) #define SCNdMAX __SCNMAX(d) #define SCNiMAX __SCNMAX(i) #define SCNoMAX __SCNMAX(o) #define SCNuMAX __SCNMAX(u) #define SCNxMAX __SCNMAX(x) # 294 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/arm-none-eabi/include/inttypes.h" 3 #define __PRIPTR(x) __STRINGIFY(x) #define __SCNPTR(x) __STRINGIFY(x) #define PRIdPTR __PRIPTR(d) #define PRIiPTR __PRIPTR(i) #define PRIoPTR __PRIPTR(o) #define PRIuPTR __PRIPTR(u) #define PRIxPTR __PRIPTR(x) #define PRIXPTR __PRIPTR(X) #define SCNdPTR __SCNPTR(d) #define SCNiPTR __SCNPTR(i) #define SCNoPTR __SCNPTR(o) #define SCNuPTR __SCNPTR(u) #define SCNxPTR __SCNPTR(x) typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; struct _reent; extern intmax_t imaxabs(intmax_t); extern imaxdiv_t imaxdiv(intmax_t __numer, intmax_t __denomer); extern intmax_t strtoimax(const char *__restrict, char **__restrict, int); extern intmax_t _strtoimax_r(struct _reent *, const char *__restrict, char **__restrict, int); extern uintmax_t strtoumax(const char *__restrict, char **__restrict, int); extern uintmax_t _strtoumax_r(struct _reent *, const char *__restrict, char **__restrict, int); extern intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int); extern intmax_t _wcstoimax_r(struct _reent *, const wchar_t *__restrict, wchar_t **__restrict, int); extern uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int); extern uintmax_t _wcstoumax_r(struct _reent *, const wchar_t *__restrict, wchar_t **__restrict, int); # 2 "src/gpio.c" 2 # 1 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" 1 3 4 # 29 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" 3 4 #define _STDBOOL_H #define bool _Bool #define true ((_Bool)+1u) #define false ((_Bool)+0u) # 50 "/nix/store/yr89i11mszv2az19r26l372zgaiivj1c-gcc-arm-embedded-12.3.rel1/lib/gcc/arm-none-eabi/12.3.1/include/stdbool.h" 3 4 #define __bool_true_false_are_defined 1 # 3 "src/gpio.c" 2 # 1 "src/gpio.h" 1 #define GPIO_H_ # 7 "src/gpio.h" struct gpio { volatile uint32_t MODER; volatile uint32_t OTYPER; volatile uint32_t OSPEEDR; volatile uint32_t PUPDR; volatile uint32_t IDR; volatile uint32_t ODR; volatile uint32_t BSRR; volatile uint32_t LCKR; volatile uint32_t AFRL; volatile uint32_t AFRH; }; #define GPIO_AF_MCO_1 (0b0000) #define GPIO_AF_USART2_RX (0b0111) #define GPIO_AF_USART2_TX (0b0111) #define GPIO_BASE_ADDR (0x40020000U) #define GPIO_PORT_OFFSET (0x400U) #define GPIO(port) ((struct gpio*)(uintptr_t)(GPIO_BASE_ADDR + (GPIO_PORT_OFFSET * port))) #define PORT(port) (((port) - 'A') << 8) #define PIN(port,num) (PORT(port) | num) #define PINNUM(pin) (pin & 0b1111) #define PINPORT(pin) (pin >> 8) typedef enum { GPIO_MODE_INPUT, GPIO_MODE_OUTPUT, GPIO_MODE_AF, GPIO_MODE_ANALOG } GPIO_MODE; void gpio_set_mode(uint16_t pin, GPIO_MODE mode); void gpio_set_af(uint16_t pin, uint8_t af); void gpio_write(uint16_t pin, # 47 "src/gpio.h" 3 4 _Bool # 47 "src/gpio.h" val); # 5 "src/gpio.c" 2 void gpio_set_mode(uint16_t pin, GPIO_MODE mode) { struct gpio *gpio = ((struct gpio*)(uintptr_t)((0x40020000U) + ((0x400U) * (pin >> 8)))); int pn = (pin & 0b1111); gpio->MODER &= ~(0b11 << (pn * 2)); gpio->MODER |= (mode & 0b11) << (pn * 2); } void gpio_set_af(uint16_t pin, uint8_t af) { struct gpio *gpio = ((struct gpio*)(uintptr_t)((0x40020000U) + ((0x400U) * (pin >> 8)))); int pn = (pin & 0b1111); if (pn < 8) { gpio->AFRL &= ~(0b1111 << (pn * 4)); gpio->AFRL |= (af & 0b1111) << (pn * 4); } else { gpio->AFRH &= ~(0b1111 << (pn * 4)); gpio->AFRH |= (af & 0b1111) << (pn * 4); } } void gpio_write(uint16_t pin, # 25 "src/gpio.c" 3 4 _Bool # 25 "src/gpio.c" val) { struct gpio *gpio = ((struct gpio*)(uintptr_t)((0x40020000U) + ((0x400U) * (pin >> 8)))); gpio->BSRR = (0b0011 << (pin & 0b1111)) << (val ? 0 : 16); }