Update timestamp types in CycleTimer class to be signed
This commit is contained in:
parent
08e18a0cb4
commit
4330db1aa7
@ -55,7 +55,7 @@ public:
|
|||||||
|
|
||||||
// rint?? that may round to sample outside of cycle?
|
// rint?? that may round to sample outside of cycle?
|
||||||
// max(0, value)?
|
// max(0, value)?
|
||||||
uint32_t samples_since_cycle_start (uint64_t timer_val) const
|
uint32_t samples_since_cycle_start (int64_t timer_val) const
|
||||||
{
|
{
|
||||||
if (timer_val < m_cycle_start) {
|
if (timer_val < m_cycle_start) {
|
||||||
return 0;
|
return 0;
|
||||||
@ -63,38 +63,39 @@ public:
|
|||||||
return std::max((double)0, (timer_val - get_start ()) / get_sample_length_us ());
|
return std::max((double)0, (timer_val - get_start ()) / get_sample_length_us ());
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t timestamp_from_sample_offset (uint32_t sample_offset)
|
int64_t timestamp_from_sample_offset (uint32_t sample_offset)
|
||||||
{
|
{
|
||||||
return m_cycle_start + get_sample_length_us () * sample_offset;
|
return m_cycle_start + get_sample_length_us () * sample_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool valid () const { return m_samples_per_cycle && m_samplerate; }
|
bool valid () const { return m_samples_per_cycle && m_samplerate; }
|
||||||
|
|
||||||
bool in_cycle (uint64_t timer_value_us) const
|
bool in_cycle(int64_t timer_value_us) const
|
||||||
{ return (timer_value_us >= get_start()) && (timer_value_us < get_next_start());
|
{
|
||||||
|
return (timer_value_us >= get_start()) && (timer_value_us < get_next_start());
|
||||||
}
|
}
|
||||||
|
|
||||||
void reset_start (uint64_t timestamp) { m_cycle_start = timestamp; }
|
void reset_start (int64_t timestamp) { m_cycle_start = timestamp; }
|
||||||
|
|
||||||
uint64_t get_start () const { return m_cycle_start; }
|
int64_t get_start () const { return m_cycle_start; }
|
||||||
|
|
||||||
uint64_t microseconds_since_start (uint64_t timestamp) const
|
int64_t microseconds_since_start (int64_t timestamp) const
|
||||||
{
|
{
|
||||||
return timestamp - m_cycle_start;
|
return timestamp - m_cycle_start;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t microseconds_since_start (uint32_t samples) const
|
int64_t microseconds_since_start (uint32_t samples) const
|
||||||
{
|
{
|
||||||
return m_cycle_start + samples * get_sample_length_us ();
|
return m_cycle_start + samples * get_sample_length_us ();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t get_next_start () const
|
int64_t get_next_start () const
|
||||||
{
|
{
|
||||||
return m_cycle_start + rint (get_length_us ());
|
return m_cycle_start + rint (get_length_us ());
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
uint64_t m_cycle_start;
|
int64_t m_cycle_start;
|
||||||
|
|
||||||
uint32_t m_samplerate;
|
uint32_t m_samplerate;
|
||||||
uint32_t m_samples_per_cycle;
|
uint32_t m_samples_per_cycle;
|
||||||
|
Loading…
Reference in New Issue
Block a user