Akifumi Takahashi / AMPulseTrain

Dependents:   Interference_Simple

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers AMPulseTrain.cpp Source File

AMPulseTrain.cpp

00001 #include "AMPulseTrain.h"
00002 
00003 AMPulseTrain::AMPulseTrain(
00004     /// Carrier Pulse Train
00005     PulseTrain  * arg_carrier,
00006     /// Initial AM Signal expression
00007     AMSignal  * arg_signal
00008 ):
00009     Carrier(arg_carrier),
00010     Signal(arg_signal)
00011 {
00012     RecalcPulsebaseParameter();
00013 }
00014 
00015 
00016 
00017 
00018 uint16_t
00019 AMPulseTrain::getClockperiod_us()
00020 {
00021     return Carrier->getClockperiod_us();
00022 }
00023 
00024 void
00025 AMPulseTrain::incrementClock()
00026 {
00027     Carrier->incrementClock();
00028 }
00029 
00030 
00031 
00032 
00033 void
00034 AMPulseTrain::attachCallback_asClock(
00035     Callback<void(bool, AMPulseTrain*)> arg_callback
00036 )
00037 {
00038     m_callback_asClock = arg_callback;
00039     Carrier->attachCallback_asClock(callback(this, &AMPulseTrain::CallbackWrapper_asClock));
00040 }
00041 
00042 void
00043 AMPulseTrain::CallbackWrapper_asClock(bool arg_pulsestate)
00044 {
00045     m_callback_asClock(arg_pulsestate, this);
00046 }
00047 
00048 
00049 
00050 
00051 void
00052 AMPulseTrain::attachCallback_asPulseEdge(
00053     Callback<void(bool, AMPulseTrain*)> arg_callback
00054 )
00055 {
00056     m_callback_asPulseEdge = arg_callback;
00057     Carrier->attachCallback_asPulseEdge (callback(this, &AMPulseTrain::CallbackWrapper_asPulseEdge));
00058 }
00059 
00060 void
00061 AMPulseTrain::CallbackWrapper_asPulseEdge(bool arg_pulsestate)
00062 {
00063     m_callback_asPulseEdge(arg_pulsestate, this);
00064 }
00065 
00066 
00067 
00068 
00069 void
00070 AMPulseTrain::attachAMSignalExpression(
00071     Callback<uint16_t(AMPulseTrain*)> arg_callback
00072 )
00073 {
00074     m_AMSignalExpression = arg_callback;
00075     Signal->attachAMSignalExpression(
00076         callback(this, &AMPulseTrain::CallbackWrapper_AMSignalExpression)
00077     );
00078 }
00079 
00080 uint16_t
00081 AMPulseTrain::CallbackWrapper_AMSignalExpression(AMSignal* arg_signal)
00082 {
00083     return m_AMSignalExpression(this);
00084 }