00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "LOW_linkFlexibleSpeed.h"
00019
00020
00021
00022
00023
00024
00025
00026 LOW_linkFlexibleSpeed::LOW_linkFlexibleSpeed( const wireSpeed_t inWireSpeed, const pdSlewRate_t inPdSlewRate,
00027 const w1LowTime_t inW1LowTime, const soW0RecTime_t inSoW0RecTime) :
00028 wireSpeed( inWireSpeed),
00029 pdSlewRate( inPdSlewRate),
00030 w1LowTime( inW1LowTime),
00031 soW0RecTime( inSoW0RecTime)
00032 {
00033 }
00034
00035
00036 LOW_linkFlexibleSpeed::~LOW_linkFlexibleSpeed()
00037 {
00038 }
00039
00040
00041
00042
00043
00044
00045
00046
00047 void LOW_linkFlexibleSpeed::setWireSpeed( const wireSpeed_t inWireSpeed)
00048 {
00049 wireSpeed = inWireSpeed;
00050 }
00051
00052
00053 void LOW_linkFlexibleSpeed::setPullDownSlewRate( const pdSlewRate_t inPDSR)
00054 {
00055 if ( wireSpeed != flexible_speed )
00056 throw incompatibleSpeed_error( "setPullDownSlewRate(): Only configurable in flexible speed mode", __FILE__, __LINE__);
00057
00058 pdSlewRate = inPDSR;
00059 }
00060
00061
00062 LOW_linkFlexibleSpeed::pdSlewRate_t LOW_linkFlexibleSpeed::getPullDownSlewRate()
00063 {
00064 if ( wireSpeed != flexible_speed )
00065 throw incompatibleSpeed_error( "Only allowed in flexible speed mode", __FILE__, __LINE__);
00066
00067 return pdSlewRate;
00068 }
00069
00070
00071 void LOW_linkFlexibleSpeed::setWrite1LowTime( const w1LowTime_t inW1LT)
00072 {
00073 if ( wireSpeed != flexible_speed )
00074 throw incompatibleSpeed_error( "setWrite1LowTime(): Only configurable in flexible speed mode", __FILE__, __LINE__);
00075
00076 w1LowTime = inW1LT;
00077 }
00078
00079
00080 LOW_linkFlexibleSpeed::w1LowTime_t LOW_linkFlexibleSpeed::getWrite1LowTime()
00081 {
00082 if ( wireSpeed != flexible_speed )
00083 throw incompatibleSpeed_error( "Only allowed in flexible speed mode", __FILE__, __LINE__);
00084
00085 return w1LowTime;
00086 }
00087
00088
00089 void LOW_linkFlexibleSpeed::setSampleOffsetWrite0Rec( const soW0RecTime_t inSOW0RT)
00090 {
00091 if ( wireSpeed != flexible_speed )
00092 throw incompatibleSpeed_error( "setSampleOffsetWrite0Rec(): Only configurable in flexible speed mode", __FILE__, __LINE__);
00093
00094 soW0RecTime = inSOW0RT;
00095 }
00096
00097
00098 LOW_linkFlexibleSpeed::soW0RecTime_t LOW_linkFlexibleSpeed::getSampleOffsetWrite0Rec()
00099 {
00100 if ( wireSpeed != flexible_speed )
00101 throw incompatibleSpeed_error( "Only allowed in flexible speed mode", __FILE__, __LINE__);
00102
00103 return soW0RecTime;
00104 }
00105
00106