#include <stdio.h>
#define PWM_CLOCKS_PER_AFE_CONVERSION (112)
#define PWM1_AFE_TRIGGER_COMPARE_COUNT (460)
#define AZ_I_SNS_B_SEQUENCE_IDX (4)
#define EL_I_SNS_H_SEQUENCE_IDX (11)
#define NOMINAL_ISR_ENTRY_OVERHEAD (30)
#define PWM_CH0_PERIOD (1500)
#define AZ_I_SNS_B_ISR_PWM_COUNT \
(NOMINAL_ISR_ENTRY_OVERHEAD + PWM1_AFE_TRIGGER_COMPARE_COUNT + \
AZ_I_SNS_B_SEQUENCE_IDX * PWM_CLOCKS_PER_AFE_CONVERSION)
#define EL_I_SNS_H_ISR_PWM_COUNT \
(NOMINAL_ISR_ENTRY_OVERHEAD + PWM1_AFE_TRIGGER_COMPARE_COUNT + \
EL_I_SNS_H_SEQUENCE_IDX * PWM_CLOCKS_PER_AFE_CONVERSION - PWM_CH0_PERIOD)
#define CLOCKS_BEFORE_CHECK (70)
#define AZ_MIN_EXPECTED_CCNT \
(AZ_I_SNS_B_ISR_PWM_COUNT + CLOCKS_BEFORE_CHECK + 5)
#define EL_MIN_EXPECTED_CCNT \
(EL_I_SNS_H_ISR_PWM_COUNT + CLOCKS_BEFORE_CHECK + 5)
int main(void) {
// your code goes here
printf("AZ=%u\n", AZ_MIN_EXPECTED_CCNT
); printf("EL=%u", EL_MIN_EXPECTED_CCNT
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgUFdNX0NMT0NLU19QRVJfQUZFX0NPTlZFUlNJT04gKDExMikKI2RlZmluZSBQV00xX0FGRV9UUklHR0VSX0NPTVBBUkVfQ09VTlQgKDQ2MCkKI2RlZmluZSBBWl9JX1NOU19CX1NFUVVFTkNFX0lEWCAoNCkKI2RlZmluZSBFTF9JX1NOU19IX1NFUVVFTkNFX0lEWCAoMTEpCiNkZWZpbmUgTk9NSU5BTF9JU1JfRU5UUllfT1ZFUkhFQUQgKDMwKQojZGVmaW5lIFBXTV9DSDBfUEVSSU9EICgxNTAwKQojZGVmaW5lIEFaX0lfU05TX0JfSVNSX1BXTV9DT1VOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgKE5PTUlOQUxfSVNSX0VOVFJZX09WRVJIRUFEICsgUFdNMV9BRkVfVFJJR0dFUl9DT01QQVJFX0NPVU5UICsgICAgICAgICAgICAgXAogICAgIEFaX0lfU05TX0JfU0VRVUVOQ0VfSURYICogUFdNX0NMT0NLU19QRVJfQUZFX0NPTlZFUlNJT04pCiNkZWZpbmUgRUxfSV9TTlNfSF9JU1JfUFdNX0NPVU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAoTk9NSU5BTF9JU1JfRU5UUllfT1ZFUkhFQUQgKyBQV00xX0FGRV9UUklHR0VSX0NPTVBBUkVfQ09VTlQgKyAgICAgICAgICAgICBcCiAgICAgRUxfSV9TTlNfSF9TRVFVRU5DRV9JRFggKiBQV01fQ0xPQ0tTX1BFUl9BRkVfQ09OVkVSU0lPTiAtIFBXTV9DSDBfUEVSSU9EKQojZGVmaW5lIENMT0NLU19CRUZPUkVfQ0hFQ0sgKDcwKQojZGVmaW5lIEFaX01JTl9FWFBFQ1RFRF9DQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgKEFaX0lfU05TX0JfSVNSX1BXTV9DT1VOVCArIENMT0NLU19CRUZPUkVfQ0hFQ0sgKyA1KQojZGVmaW5lIEVMX01JTl9FWFBFQ1RFRF9DQ05UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgKEVMX0lfU05TX0hfSVNSX1BXTV9DT1VOVCArIENMT0NLU19CRUZPUkVfQ0hFQ0sgKyA1KQppbnQgbWFpbih2b2lkKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglwcmludGYoIkFaPSV1XG4iLCBBWl9NSU5fRVhQRUNURURfQ0NOVCk7CglwcmludGYoIkVMPSV1IiwgRUxfTUlOX0VYUEVDVEVEX0NDTlQpOwoJcmV0dXJuIDA7Cn0K