runtime: merge common sleep() functions
Этот коммит содержится в:
		
							родитель
							
								
									7c16f6c904
								
							
						
					
					
						коммит
						7517ac86e4
					
				
					 4 изменённых файлов: 7 добавлений и 17 удалений
				
			
		|  | @ -115,3 +115,8 @@ func sliceCopy(dst, src unsafe.Pointer, dstLen, srcLen lenType, elemSize uintptr | |||
| 	memmove(dst, src, uintptr(n)*elemSize) | ||||
| 	return n | ||||
| } | ||||
| 
 | ||||
| //go:linkname sleep time.Sleep | ||||
| func sleep(d int64) { | ||||
| 	sleepTicks(timeUnit(d / tickMicros)) | ||||
| } | ||||
|  |  | |||
|  | @ -68,15 +68,10 @@ func putchar(c byte) { | |||
| 	*avr.UDR0 = avr.RegValue(c) // send char | ||||
| } | ||||
| 
 | ||||
| // Sleep by the given amount. | ||||
| // Sleep this number of ticks of 16ms. | ||||
| // | ||||
| // TODO: not very accurate. Improve accuracy by calibrating on startup and every | ||||
| // once in a while. | ||||
| //go:linkname sleep time.Sleep | ||||
| func sleep(d int64) { | ||||
| 	sleepTicks(timeUnit(d / tickMicros)) | ||||
| } | ||||
| 
 | ||||
| func sleepTicks(d timeUnit) { | ||||
| 	currentTime += d | ||||
| 	for d != 0 { | ||||
|  |  | |||
|  | @ -91,11 +91,6 @@ func putchar(c byte) { | |||
| 	nrf.UART0.EVENTS_TXDRDY = 0 | ||||
| } | ||||
| 
 | ||||
| //go:linkname sleep time.Sleep | ||||
| func sleep(d timeUnit) { | ||||
| 	sleepTicks(d / tickMicros) | ||||
| } | ||||
| 
 | ||||
| func sleepTicks(d timeUnit) { | ||||
| 	for d != 0 { | ||||
| 		ticks()                       // update timestamp | ||||
|  |  | |||
|  | @ -34,13 +34,8 @@ func putchar(c byte) { | |||
| 	_Cfunc_putchar(int(c)) | ||||
| } | ||||
| 
 | ||||
| //go:linkname sleep time.Sleep | ||||
| func sleep(d int64) { | ||||
| 	_Cfunc_usleep(uint(d) / 1000) | ||||
| } | ||||
| 
 | ||||
| func sleepTicks(d timeUnit) { | ||||
| 	sleep(int64(d)) | ||||
| 	_Cfunc_usleep(uint(d) / 1000) | ||||
| } | ||||
| 
 | ||||
| // Return monotonic time in nanoseconds. | ||||
|  |  | |||
		Загрузка…
	
	Создание таблицы
		
		Сослаться в новой задаче
	
	 Ayke van Laethem
						Ayke van Laethem