kopia lustrzana https://github.com/cyoung/stratux
				
				
				
			Fix #223. Change ticker to 50 ms intervals for future improvements.
							rodzic
							
								
									1be927e672
								
							
						
					
					
						commit
						2f9ce16bfd
					
				| 
						 | 
				
			
			@ -729,7 +729,7 @@ func updateStatus() {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	// Update Uptime value
 | 
			
		||||
	globalStatus.Uptime = int64(stratuxClock.Seconds) * 1000
 | 
			
		||||
	globalStatus.Uptime = int64(stratuxClock.Milliseconds)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ReplayWriter struct {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,7 @@
 | 
			
		|||
	that can be found in the LICENSE file, herein included
 | 
			
		||||
	as part of this header.
 | 
			
		||||
 | 
			
		||||
	Modifications (c) 2016 AvSquirrel (https://github.com/AvSquirrel)
 | 
			
		||||
	monotonic.go: Create monotonic clock using time.Timer - necessary because of real time clock changes on RPi.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -17,16 +18,16 @@ import (
 | 
			
		|||
// Timer (since start).
 | 
			
		||||
 | 
			
		||||
type monotonic struct {
 | 
			
		||||
	Seconds uint64
 | 
			
		||||
	Time    time.Time
 | 
			
		||||
	ticker  *time.Ticker
 | 
			
		||||
	Milliseconds uint64
 | 
			
		||||
	Time         time.Time
 | 
			
		||||
	ticker       *time.Ticker
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (m *monotonic) Watcher() {
 | 
			
		||||
	for {
 | 
			
		||||
		<-m.ticker.C
 | 
			
		||||
		m.Seconds++
 | 
			
		||||
		m.Time = m.Time.Add(1 * time.Second)
 | 
			
		||||
		m.Milliseconds += 50
 | 
			
		||||
		m.Time = m.Time.Add(50 * time.Millisecond)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -35,11 +36,11 @@ func (m *monotonic) Since(t time.Time) time.Duration {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func (m *monotonic) HumanizeTime(t time.Time) string {
 | 
			
		||||
	return humanize.RelTime(m.Time, t, "ago", "from now")
 | 
			
		||||
	return humanize.RelTime(t, m.Time, "ago", "from now")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewMonotonic() *monotonic {
 | 
			
		||||
	t := &monotonic{Seconds: 0, Time: time.Time{}, ticker: time.NewTicker(1 * time.Second)}
 | 
			
		||||
	t := &monotonic{Milliseconds: 0, Time: time.Time{}, ticker: time.NewTicker(50 * time.Millisecond)}
 | 
			
		||||
	go t.Watcher()
 | 
			
		||||
	return t
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue