bidirectional buck-boost controller