mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-31 11:17:01 -07:00
Do a recalibrate when retrying a track read --- it makes things a bit more
reliable.
This commit is contained in:
@@ -3611,12 +3611,12 @@
|
||||
<Group key="Pin2">
|
||||
<Group key="4a398466-709f-4228-9500-96178658e13e">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="3,2" />
|
||||
<Data key="Port Format" value="1,5" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="5a3407c1-b434-4438-a7b4-b9dfd2280495">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="15,4" />
|
||||
<Data key="Port Format" value="12,4" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="8d318d8b-cf7b-4b6b-b02c-ab1c5c49d0ba">
|
||||
@@ -3626,7 +3626,7 @@
|
||||
</Group>
|
||||
<Group key="41e2d8ed-5494-4d8c-8ff7-f4f789cece51">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="0,2" />
|
||||
<Data key="Port Format" value="2,7" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="264be2d3-9481-494b-8d9c-c1905a45e9cc">
|
||||
@@ -3678,17 +3678,17 @@
|
||||
</Group>
|
||||
<Group key="472f8fdb-f772-44fb-8897-cc690694237b">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="3,6" />
|
||||
<Data key="Port Format" value="1,1" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="736cb12b-c863-43d4-a8f0-42f06023f8b5">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="3,1" />
|
||||
<Data key="Port Format" value="1,6" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="4249c923-fcff-453b-8629-bec6fddd00c1">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="3,7" />
|
||||
<Data key="Port Format" value="1,0" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="1425177d-0d0e-4468-8bcc-e638e5509a9b">
|
||||
@@ -3698,12 +3698,12 @@
|
||||
</Group>
|
||||
<Group key="a5d987c6-e45b-45b9-ad93-656fab06d720">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="3,4" />
|
||||
<Data key="Port Format" value="1,3" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="a93ef5b3-00f4-42c0-8fad-0e275a7e2537">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="15,1" />
|
||||
<Data key="Port Format" value="12,1" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="bc5d52a1-1b25-4aa0-9ba9-3f81d122772f">
|
||||
@@ -3726,17 +3726,17 @@
|
||||
</Group>
|
||||
<Group key="c5367cde-21d5-4866-9a32-d16abfea0c61">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="3,3" />
|
||||
<Data key="Port Format" value="1,4" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="d19368c5-6855-41bb-a9ff-808938abef00">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="15,5" />
|
||||
<Data key="Port Format" value="12,5" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="e9f14b5a-b2bf-49b8-98f3-d7b5a43ace8d">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="15,3" />
|
||||
<Data key="Port Format" value="12,3" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="e851a3b9-efb8-48be-bbb8-b303b216c393">
|
||||
@@ -3746,12 +3746,12 @@
|
||||
</Group>
|
||||
<Group key="e51063a9-4fad-40c7-a06b-7cc4b137dc18">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="3,0" />
|
||||
<Data key="Port Format" value="1,7" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="ea7ee228-8b3f-426c-8bb8-cd7a81937769">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="15,0" />
|
||||
<Data key="Port Format" value="12,0" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="ed092b9b-d398-4703-be89-cebf998501f6">
|
||||
@@ -3761,12 +3761,12 @@
|
||||
</Group>
|
||||
<Group key="fede1767-f3fd-4021-b3d7-8f9d88f36f9b">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="15,2" />
|
||||
<Data key="Port Format" value="12,2" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="fff78075-035e-43d7-8577-bc5be4d21926">
|
||||
<Group key="0">
|
||||
<Data key="Port Format" value="3,5" />
|
||||
<Data key="Port Format" value="1,2" />
|
||||
</Group>
|
||||
</Group>
|
||||
<Group key="UnAssigned Pins" />
|
||||
@@ -3779,7 +3779,7 @@
|
||||
<Data key="CYDEV_CONFIG_UNUSED_IO" value="AllowButWarn" />
|
||||
<Data key="CYDEV_CONFIGURATION_ECC" value="True" />
|
||||
<Data key="CYDEV_CONFIGURATION_MODE" value="COMPRESSED" />
|
||||
<Data key="CYDEV_DEBUGGING_DPS" value="SWD_SWV" />
|
||||
<Data key="CYDEV_DEBUGGING_DPS" value="Disable" />
|
||||
<Data key="CYDEV_DEBUGGING_XRES" value="False" />
|
||||
<Data key="CYDEV_ECC_ENABLE" value="False" />
|
||||
<Data key="CYDEV_HEAP_SIZE" value="0x80" />
|
||||
|
||||
@@ -181,6 +181,14 @@ static void cmd_seek(struct seek_frame* f)
|
||||
send_reply(&r);
|
||||
}
|
||||
|
||||
static void cmd_recalibrate(void)
|
||||
{
|
||||
homed = false;
|
||||
seek_to(0);
|
||||
DECLARE_REPLY_FRAME(struct any_frame, F_FRAME_RECALIBRATE_REPLY);
|
||||
send_reply(&r);
|
||||
}
|
||||
|
||||
static void cmd_measure_speed(struct any_frame* f)
|
||||
{
|
||||
start_motor();
|
||||
@@ -567,6 +575,10 @@ static void handle_command(void)
|
||||
case F_FRAME_ERASE_CMD:
|
||||
cmd_erase((struct erase_frame*) f);
|
||||
break;
|
||||
|
||||
case F_FRAME_RECALIBRATE_CMD:
|
||||
cmd_recalibrate();
|
||||
break;
|
||||
|
||||
default:
|
||||
send_error(F_ERROR_BAD_COMMAND);
|
||||
|
||||
@@ -189,7 +189,10 @@ void readDiskCommand(
|
||||
std::cout << "giving up" << std::endl
|
||||
<< " ";
|
||||
else
|
||||
{
|
||||
std::cout << retry << " retries remaining" << std::endl;
|
||||
usbRecalibrate();
|
||||
}
|
||||
}
|
||||
|
||||
int size = 0;
|
||||
|
||||
11
lib/usb.cc
11
lib/usb.cc
@@ -114,6 +114,17 @@ void usbSeek(int track)
|
||||
await_reply<struct any_frame>(F_FRAME_SEEK_REPLY);
|
||||
}
|
||||
|
||||
void usbRecalibrate()
|
||||
{
|
||||
usb_init();
|
||||
|
||||
struct any_frame f = {
|
||||
{ .type = F_FRAME_RECALIBRATE_CMD, .size = sizeof(f) },
|
||||
};
|
||||
usb_cmd_send(&f, f.f.size);
|
||||
await_reply<struct any_frame>(F_FRAME_RECALIBRATE_REPLY);
|
||||
}
|
||||
|
||||
nanoseconds_t usbGetRotationalPeriod(void)
|
||||
{
|
||||
usb_init();
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
class Fluxmap;
|
||||
|
||||
extern int usbGetVersion();
|
||||
extern void usbRecalibrate();
|
||||
extern void usbSeek(int track);
|
||||
extern nanoseconds_t usbGetRotationalPeriod();
|
||||
extern void usbTestBulkTransport();
|
||||
|
||||
@@ -54,6 +54,8 @@ enum
|
||||
F_FRAME_WRITE_REPLY, /* any_frame */
|
||||
F_FRAME_ERASE_CMD, /* erase_frame */
|
||||
F_FRAME_ERASE_REPLY, /* any_frame */
|
||||
F_FRAME_RECALIBRATE_CMD, /* any_frame */
|
||||
F_FRAME_RECALIBRATE_REPLY, /* any_frame */
|
||||
};
|
||||
|
||||
enum
|
||||
|
||||
Reference in New Issue
Block a user